자료구조 & 알고리즘(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)