1. 꼭 필요한 자료구조 기초
- 탐색 : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정
-> 대표적인 탐색알고리즘으로 DFS, BFS
- 자료구조 : 데이터를 표현하고 관리하고 처리하기 위한 구조
-> 스택과 큐가 자료구조의 기초 개념
1) 스택
- 박스쌓기에 비유 가능. 선입후출구조 혹은 후입선출구조로 생각.
- 파이썬에선 스택을 이용할 때에는 별도의 라이브러리를 사용할 필요 X
-> 기본 리스트에서 append()와 pop()매서드 사용(가장 뒤쪽에 데이터 삽입 & 삭제)
2) 큐
- 대기줄에 비유 가능. 선입선출구조
- 파이썬으로 큐를 구현할 땐 collections 모듈에서 제공하는 deque자료구조 활용
-> deque는 스택과 큐의 장점을 모두 채택한 것인데 데이터를 넣고 빼는 속도가 리스트 자료형에 비해 효율적이며 queue 라이브러리를 이용하는 것보다 더 간단.
-> deque객체를 리스트 자료형으로 변경하고자 한다면 list()매서드 활용
3) 재귀함수
- Recursive Function. 자기자신을 다시 호출하는 함수
- 재귀함수 종료조건은 재귀 함수 초반에 등장하는 if문.
def recursive_function(i):
if i == 100:
return
print(i, '번째 재귀 함수에서', i + 1, '번째 재귀 함수를 호출합니다.')
recursive_function(i+1)
print(i, '번째 재귀 함수를 종료합니다.')
recursive_function(1)