CS지식/자료구조

[Python 자료구조] 스택 (Stack)

hellosonic 2023. 2. 20. 12:21

자료구조(Data Structure) : 데이터를 표현하고 관리하고 처리하기 위한 구조

 

스택과 큐는 자료구조의 기초 개념으로 다음의 두 핵심적인 함수로 구성된다.

  • 삽입(Push) : 데이터를 삽입한다.
  • 삭제(Pop) : 데이터를 삭제한다.

+) 스택과 큐를 사용할 때는 삽입과 삭제 이외에도 오버플로와 언더플로를 고민해야 된다.

  • 오버플로(Overflow) : 특정한 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생
  • 언더플로(Underflow) : 자료구조에 데이터가 전혀 들어있지 않은 상태에서 삭제 연산을 수행하면 발생

스택(Stack)

선입후출(First In Last Out), 후입선출(Last In First Out) 구조

스택 예제

stack = []

# 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7) - 삭제() - 삽입(1) - 삽입(4) - 삭제()
stack.append(5)
stack.append(2)
stack.append(3)
stack.append(7)
stack.pop()
stack.append(1)
stack.append(4)
stack.pop()

print(stack) #[5,2,3,1]
print(stack[::-1]) #[1,3,2,5]