python实现dict版图遍历的示例。
代码:
#_*_coding:utf_8_
import sys
import os
class Graph():
def
__init__(self, V, E):
self.V = V
self.E = E
self.visited = []
self.dict = {}
self.fd =
open("input.txt")
def initGraph(self):
self.visited = [0 for i in
range(self.V+1)]
for i in range(self.E):
f, t =
map(int, self.fd.readline().split())
#f, t = map(int,
sys.stdin.readline().split())
if self.dict.has_key(f)==False:
# www.jbxue.com
l = []
l.append(t)
self.dict[f] = l
else:
l =
self.dict[f]
l.append(t)
self.dict[f] =
l
def dfsGraph(self, src):
self.visited[src] = 1
print
src ,
if self.dict.get(src): #self.dict[src]会出现异常
for u in
self.dict[src]:
if self.visited[u]==0:
self.dfsGraph(u)
graph = Graph(6,
10)
graph.initGraph()
graph.dfsGraph(1)
nput.txt
代码:
1 2
1 3
1 4
3 2
2 6
4 3
3 5
4 5
6 5
3 6
output:
代码如下:
1 2 6 5 3 4