많은 양의 데이터 중에서 원하는 데이터를 찾는 과정
먼저 들어온 데이터가 나중에 나가는 형식 (선입후출, FILO)
⇒ 입구와 출구가 동일한 형태
삽입, 삭제 연산 _ append/pop/list 사용
👏 리스트를 거꾸로 출력하고 싶을 때 사용하는 slicing → a[::-1]
/ .reverse()
먼저 들어온 데이터가 먼저 나가는 형식 (선입선출, FIFO)
⇒ 입구와 출구가 뚫려있는 형태 (터널)
큐 연산 _ from collections import deque
→ 리스트 연산에서는 pop 연산 뒤에 원소의 위치를 조정하는 연산이 필요하기 때문: 요구
삽입/삭제 _ append/popleft
재귀함수(Recursive function)
자기 자신을 다시 호출하는 함수
👏 RecursionError: maximum recursion depth exceeded while calling a python object
→ 컴퓨터 시스템 상, 스택 프레임 안 재귀함수가 메모리에 계속 쌓이므로 컴퓨터 자체의 메모리가 가득찰 수 있다. 이로 인해 문제가 발생할 수 있으므로 제한을 두는것
종료 조건을 반드시 명시해야 한다
def gcd(a,b):
if a % b == 0: # 종료조건
return b
else:
return gcd(b,a%b)