자료구조 & 알고리즘(Data Structure & Algorithm)/알고리즘(Python)
스택(Stack), 큐(Queue), 재귀(Recursion)
Itscool
2022. 2. 14. 14:29
스택 자료구조
- 먼저 들어온 데이터가 마지막에 나가는 형식, 후입선출(Last In First Out)
- 입구와 출구가 동일한 형태로 시각화

큐 자료구조
- 먼저 들어온 자료가 먼저 나감, 선입선출(First In First Out)
- 입구와 출구가 각각 뚫려있는 터널의 형태로 시각화

재귀함수(Recursion Function)
- 자기 자신을 다시 호출하는 함수
- 컴퓨터가 함수를 연속적으로 호출하면 컴퓨터 메모리 내부의 스택 프레임에 쌓임, 따라서 스택을 사용해야 할 때 구현상 스택 라이브러리 대신 재귀함수를 이용하는 경우가 많음
- DFS/BFS 의 구현에 있어 매우 중요
유클리드 호제법
- A>B일 때, A를 B로 나눈 나머지를 R이라 한다.
- A와 B의 최대공약수는 R과 B의 최대공약수와 같다.
# 유클리드 호제법으로 a와 b의 최대공약수 구하기
def gcd(a, b):
if a % b == 0:
return b
else:
return gcd(b, a % b)