공부/파이썬
[자료구조] 스택(Stack)과 큐(Queue)
남오공
2022. 6. 8. 15:27
728x90
스택(Stack)
- 스택이란 나중에 넣은 데이터가 먼저 반환이 될 수 있도록 설계한 메모리 구조를 의미한다.
- LIFO(Last In Firt Out), 선입후출이 라고도 한다.
- 실생활에서의 예시는 윈도우 운영체제를 들수있다. (컴퓨터를 실행시 가장 먼저실행되고 종료시 가장늦게 꺼진다.)
- 파이썬으로 구현한 스택의 클래스는 아래와 같다.
class Stack():
def __init__(self):
self.data = []
def push(self, item):
self.data.append(item)
def pop(self):
if len(self.data) > 0:
return self.data.pop()
else:
return None
def return_stack(self):
return self.data
큐(Queue)란?
- 큐는 줄이라는 의미를 가지고 있으며 그 의미그대로 먼저 들어간 데이터가 먼저 반환되도록 하는 데이터 구조이다.
- First in First Out(FIFO), 선입선출이라고 부르기도한다.