스택 이란 무엇인가?
스택은 어디에 쓰이는가?
ctrl
+ z
, 웹 브라우저의 뒤로가기reverse
# 리스트만으로도 구현 가능
# 스택 정의
stack = []
# 스택 원소 삽입
stack.append(data)
# 스택 원소 추출
stack.pop()
큐 이란 무엇인가?
큐은 어디에 쓰이는가?
< 방법1 >
# 큐 정의
queue = []
# 큐 원소 삽입
queue.insert(0,data)
# 큐 원소 추출
queue.pop()
< 방법2 >
# 큐 정의
queue = []
# 큐 원소 삽입
queue.append(0,data)
# 큐 원소 추출
queue.pop(0)
## pop(0)은 사용하지 않는 편이 좋음
## 남은 요소를 하나씩 땡겨야 해서 시간 복잡도가 올라감
< 방법3 >
## 추천 방법 ##
# 방법1과 로직은 같음
# 덱 모듈 import
from collections import deque
# 큐 정의
queue = deque()
# 큐 원소 삽입
queue.appendleft(data)
# 큐 원소 추출
queue.pop()
< 방법4 >
## 추천 방법 ##
# 방법2와 로직은 같음
# 덱 모듈 import
from collections import deque
# 큐 정의
queue = deque()
# 큐 원소 삽입
queue.append(data)
# 큐 원소 추출
queue.popleft()
# 덱 모듈 import
from collections import deque
# 큐 정의
queue = deque()
# 큐 원소 삽입
# 오른쪽 삽입
queue.append(data)
# 왼쪽 삽입
queue.appendleft(data)
# 큐 원소 제거
# 왼쪽 제거
queue.popleft()
# 오른쪽 제거
queue.pop()