yuns
자료구조 기초 본문
반응형
탐색: 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정
자료구조: 데이터를 표현하고 관리하고 처리하기 위한 구조
- 스택(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)
반응형
'algorithms > #5 DFS and BFS' 카테고리의 다른 글
dfs예시 (0) | 2020.11.10 |
---|---|
DFS vs BFS (0) | 2020.11.07 |
BFS: 너비 우선 탐색 (0) | 2020.11.07 |
DFS: 깊이 우선 탐색 (0) | 2020.11.07 |
Comments