Python implements the dict layout traversal example

  • 2020-04-02 13:26:29
  • OfStack


#_*_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] There will be abnormalities 
            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


Related articles: