❓DFS와 BFS
- 주어진 그래프에서 모든 노드를 방문하는 알고리즘
❓DFS
- Depth First Search (깊이 우선 탐색)
- 임의의 정점에서 시작하여 이웃하는 하나의 정점을 방문하고, 방금 방문한 정점의 이웃 정점을 방문
def dfs(x):
visited[x]=True
for i in graph[x]:
if not visited[i]:
dfs(i)
❓BFS
- Breadth First Search (너비 우선 탐색)
- 임의의 정점에서 시작하여 이웃하는 모든 정점들을 방문하고, 방문한 정점들의 이웃 정점들을 방문
def bfs(x):
queue=[]
visited[x]=True
queue.append(x)
while len(queue)!=0:
v=queue.pop(0)
for i in graph(v):
if not visited[i]:
visited[i]=True
queue.append(i)
'☁️정리 > ❄️알고리즘' 카테고리의 다른 글
[Algorithm] LCS (Longest Common Subsequence, 최장 공통 부분 수열) (0) | 2023.10.18 |
---|---|
[Algorithm] 피사노 주기 (Pisano period) (0) | 2023.06.02 |
[Algorithm] 순차 탐색, 이진 탐색 (0) | 2021.10.20 |
[Algorithm] 최소공배수, 최대공약수 (0) | 2021.08.23 |
[Algorithm] 소수 구하기 (0) | 2021.08.23 |