欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python实现dict版图遍历示例

程序员文章站 2023-11-28 19:59:40
复制代码 代码如下:#_*_coding:utf_8_import sysimport os class graph():    def _...

复制代码 代码如下:

#_*_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)

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