python实现dict版图遍历示例

2018-09-22 00:47

阅读:718

  复制代码 代码如下:
#_*_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:
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.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


评论


亲,登录后才可以留言!