python实现dict版图遍历示例

yipeiwu_com5年前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)

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

相关文章

Python中方法链的使用方法

方法链(method chaining)是面向对象的编程语言中的一种常见语法,可以让开发者在只引用对象一次的情况下,对同一个对象进行多次方法调用。举个例子: 假设我们有一个Foo类,其中...

python 遍历字符串(含汉字)实例详解

python 遍历字符串(含汉字)实例详解 s = "中国china" for j in s: print j 首先一个,你这个'a'是什么编码?可能不是你所想的gbk &...

python中numpy的矩阵、多维数组的用法

1. 引言 最近在将一个算法由matlab转成python,初学python,很多地方还不熟悉,总体感觉就是上手容易,实际上很优雅地用python还是蛮难的。目前为止,觉得就算法仿真研究...

Python入门篇之函数

Pythond 的函数是由一个新的语句编写,即def,def是可执行的语句--函数并不存在,直到Python运行了def后才存在。 函数是通过赋值传递的,参数通过赋值传递给函数 def语...

使用Python调取任意数字资产钱包余额功能

使用Python调取任意数字资产钱包余额功能

当我们的资产放在交易所的时候,可以通过链接交易所的API使用Python来监控余额。 那资产放在钱包的时候,如何来监控余额呢? 任何数字资产都可以使用区块浏览器来查询余额,那我们只要从此...