데이터를 임시 저장할 때 사용하는 자료구조
데이터의 입력과 출력 순서는 후입선출(LIFO) 방식
push: 스택에 데이터를 넣는 작업
pop: 스택에서 데이터를 꺼내는 작업
top: 푸시하고, 팝하는 윗부분
bottom: 아랫부분
데이터를 임시 저장할 때 사용하는 자료구조
데이터의 입력과 출력 순서는 선입선출(FIFO) 방식
enqueue: 큐에 데이터를 추가하는 작업
dequeue: 큐에서 데이터를 꺼내는 작업
front: 데이터를 꺼내는 쪽 (맨 앞)
rear: 데이터를 넣는 쪽 (맨 끝)
from collections import deque
d = deque()
print(d) # deque([])
append(x): 맨 끝(오른쪽)에 x를 추가
appendleft(x): 맨 앞(왼쪽)에 x를 추가
extend(iterable): iterable에서 가져온 원소를 순서대로 맨 끝(오른쪽)에 추가
extendleft(iterable): iterable에서 가져온 원소를 순서대로 맨 앞(왼쪽)에 추가
insert(i, x): x를 i 위치에 삽입
pop(): 맨 끝(오른쪽)에 있는 원소 1개 삭제 후, 반환
popleft(x): 맨 앞(왼쪽)에 있는 원소 1개 삭제 후, 반환
remove(value): value의 첫 번째(왼쪽) 항목 삭제
clear(): 모든 원소 삭제
count(x): x와 같은 원소의 개수 계산
reverse(): 역순으로 재정렬
index(x[, start[, stop]]): [start~stop] 범위에서 가장 앞쪽에 있는 x의 위치 반환
rotate(n=1): 모든 원소를 n값만큼 오른쪽으로 밀어냄 (음수일 경우, 왼쪽)
[참고문헌]
자료구조와 함께 배우는 알고리즘 입문(파이썬편)