algorithms/#5 DFS and BFS
자료구조 기초
yuuuun
2020. 11. 7. 14:45
반응형
탐색: 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정
자료구조: 데이터를 표현하고 관리하고 처리하기 위한 구조
- 스택(Stack): FILO, LIFO 구조
- append(), pop()메소드 사용
st = []
st.append(2)
st.append(3)
st.pop()
- 큐(Queue): FIFO구조
from collections import deque
queue = deque()
queue.append(5)
quque.append(2)
quque.popleft()
#for printing
queue.reverse()
- 재귀함수(Recursive Function): 자기 자신을 다시 호출하는 함수
- 함수로 정의하고 호출하는데 너무 많이 호출하게 될 경우 RecursionError 발생
- 재귀함수의 종료조건 작성 필요
- 재귀 함수의 수행은 stack 자료구조를 이용
# 반복적으로 구현한 n!
def factorial_iterative(n):
res = 1
for i in range(1, n+1):
res *= i
return res
# 재귀적으로 구현한 n!
def factorial_recursive(n):
if n <= 1:
return 1
return n * facorial_recursive(n - 1)
반응형