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]