728x90
반응형
스택
박스는 아래에서부터 위로 차곡차곡 쌓고, 아래의 박스를 치우기 위해서는 위의 박스를 먼저 내려야 하기에 흔히 박스 쌓기에 비유함
선입후출 구조 또는 후입선출 구조라고 함
stack = []
stack.append(5)
stack.append(2)
stack.append(3)
stack.append(7)
stack.pop()
stack.append(1)
stack.append(4)
stack.pop()
print(stack) # 최하단 원소부터 출력
print(stack[::-1]) # 최상단 원소부터 출력
# [5, 2, 3, 1]
# [1, 3, 2, 5]
큐
흔히 대기 줄에 비유할 수 있음
놀이공운에 입장하기 위해 줄을 설 때, 먼저 온 사람이 먼저 들어가게 되기때문에 '공정한' 자료구조라고 비유됨
선입선출 구조
from collections import deque
# 큐 구현을 위해 deque 라이브러리 사용
queue = deque()
queue.append(5)
queue.append(2)
queue.append(3)
queue.append(7)
queue.popleft()
queue.append(1)
queue.append(4)
queue.popleft()
print(queue)
queue.reverse()
print(queue)
# deque([3, 7, 1, 4])
# deque([4, 1, 7, 3])
재귀 함수
자기 자신을 다시 호출하는 함수
재귀 함수는 종료 조건을 꼭 명시해야 함
반응형