深度优先搜索算法的python实现
#Depth First Search
import Queue
#myQueue = Queue.Queue(maxsize = 1000)
#Graph
class Node:
def __init__(self,id):
self.id = id
self.known = 0
self.Dv = 999999
self.Pv = self
self.list = []
v1 = Node(1)
v2 = Node(2)
v3 = Node(3)
v4 = Node(4)
v5 = Node(5)
v6 = Node(6)
v7 = Node(7)
v1.list.append(v4)
v1.list.append(v2)
v2.list.append(v4)
v2.list.append(v5)
v3.list.append(v1)
v3.list.append(v6)
v4.list.append(v3)
v4.list.append(v6)
v4.list.append(v7)
v4.list.append(v5)
v5.list.append(v7)
v7.list.append(v6)
#the function dfs(v) do DFS one time
def dfs(v):
v.known = 1
print v.id
for w in v.list:
if(w.known == 0):
dfs(w)
dfs(v3)
参考文献
1.数据结构与算法分析(C语言描述)Mark Allen Weiss