본문 바로가기

Legacy(~18.10)/컴퓨터공학

[Data Structure] Stack - 이론 && ADT

반응형

Stack - 이론 && ADT

  • 스택은 새로운 아이템의 추가와 존재하는 아이템의 삭제가 동일한 위치에서 발생한다.

  • 가장 최근에 추가된 아이템은 가장 먼저 제거 될 수 있다. 이것을 Last In First Out - LIFO 라고 한다.

  • 실생활에서 스택의 예시를 많이 찾아볼 수 있다.

  • 스택은 아이템의 삽입 순서가 제거 순서와 반대이다.

class Stack:
   def __init__(self):
       '''
      스택을 초기화 - 빈 리스트로 초기화 한다.
      '''
       self.stack = []
   
   def isEmpty(self):
       '''
      스택의 길이가 0 인지를 확인한다.
      '''
        return len(self.stack) == 0
       
   def push(self, item):
       '''
      스택의 마지막에 item을 추가한다.
      '''
        self.stack.append(item)

           
   def pop(self):
       '''
      스택의 마지막 아이템을 제거한다.
      '''
        return self.stack.pop()
       
   def peek(self):
       '''
      스택의 마지막에 있는 아이템을 출력한다.
      '''
        return self.stack[len(self.stack) - 1]
       
   def size(self):
       '''
      스택의 길이를 출력한다.
      '''
       return len(self.stack)
       


반응형