탐색(Search)이란 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정
대표적인 그래프 탐색 알고리즘으로는 DFS와 BFS가 있다
DFS/BFS는 코딩 테스트에서 매우 자주 등장하는 유형
스택 자료구조
큐 자료구조
재귀 함수
DFS(Depth-First Search)
INF = 999999999
graph = [
[0, 7, 5],
[7, 0, INF],
[5, INF, 0]
]
print(graph)
[[0, 7, 5], [7, 0, 999999999], [5, 999999999, 0]]
# 행(Row)이 3개인 2차원 리스트로 인접 리스트 표현
graph = [[] for _ in range(3)]
# 노드 0에 연결된 노드 정보 저장(노드, 거리)
graph[0].append((1, 7))
graph[0].append((2, 5))
graph[1].append((0, 7))
graph[2].append((0, 5))
print(graph)
[[(1, 7), (2, 5)], [(0, 7)], [(0, 5)]]
BFS(Breadth-First Search)
Coding_Test_Study/삼성준비/DFS+BFS at main · jaesukpark77/Coding_Test_Study