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])

 


 

재귀 함수

 

자기 자신을 다시 호출하는 함수

재귀 함수는 종료 조건을 꼭 명시해야 함

 

반응형

'프로그래밍 > Python' 카테고리의 다른 글

입출력  (0) 2021.01.14
반복문  (0) 2021.01.13
조건문  (0) 2021.01.11
순열, 조합, 중복 순열, 중복 조합  (0) 2021.01.11
자료형 - 집합  (0) 2021.01.08
복사했습니다!