[Python 자료구조] 스택

데이터 구조: 데이터를 표현하고 관리하고 처리하기 위한 구조

스택과 큐는 데이터 구조의 기본 개념이며 다음 두 가지 주요 기능으로 구성됩니다.

  • 삽입(푸시): 데이터를 삽입합니다.
  • 팝: 데이터를 지웁니다.

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

  • 오버플로: 주어진 데이터 구조가 담을 수 있는 데이터의 크기가 이미 꽉 찼을 때 삽입 작업이 수행될 때 발생합니다.
  • 언더플로: 데이터 구조에 데이터가 없는 상태에서 삭제 작업을 수행하면 발생합니다.

스택

선입선출, 후입선출 구조

스택 예제

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)