graph={
1:[2,3],
2:[1,4,5,7],
3:[1,5,9],
4:[2,6],
5:[2,3,7,8],
6:[4],
7:[5,2],
8:[5],
9:[3],
}
def DFS(graph,root):
stack=[root]
visited=[]
while stack:
n=stack.pop()
for i in graph[n]:
if i not in visited:
stack.append(i)
if n not in visited:
visited.append(n)
print('v',visited)
return visited
print(DFS(graph,1))
파이썬으로 짠 위 DFS 코드에서 쓰인 그래프
[1, 3, 9, 5, 8, 7, 2, 4, 6]
'알고리즘' 카테고리의 다른 글
Kruskal's Algorithm and Union-Find 크루스칼 알고리즘 파이썬 python (0) | 2018.11.23 |
---|---|
Binary Search Tree BST 이진 탐색 검색 트리 파이썬 python (0) | 2018.11.21 |
초간단 python BFS Breadth First Search 너비 우선 탐색 (0) | 2018.03.21 |
이진 검색 트리 3 (0) | 2018.02.13 |
이진 검색 트리 2 (0) | 2018.02.13 |