Python的Dict版图遍历


[python] 
#_*_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.initGraph()  
graph.dfsGraph(1)  
input.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

相关内容

    暂无相关文章

评论关闭