python实现dict版图遍历示例

yipeiwu_com6年前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

相关文章

DataFrame:通过SparkSql将scala类转为DataFrame的方法

如下所示: import java.text.DecimalFormat import com.alibaba.fastjson.JSON import com.donews.dat...

在IPython中执行Python程序文件的示例

简单使用了一下之后,我觉得如果有机会(公司里面编码是极不自由的,也无所谓,我在公司不做数据分析),我肯定是更喜欢使用IPython作为我的Python shell环境了。简单的接触发现了...

python+opencv实现摄像头调用的方法

python+opencv实现摄像头调用的方法

最近入了一块树莓派,想让其实现摄像头的调用,因此写下此博客备忘 一、树莓派网络的配置 首先,对树莓派进行网络配置,否则就无法进行软件的安装 我们知道,ifconfig命令可以修改ip地址...

Python实现隐马尔可夫模型的前向后向算法的示例代码

本篇文章对隐马尔可夫模型的前向和后向算法进行了Python实现,并且每种算法都给出了循环和递归两种方式的实现。 前向算法Python实现 循环方式 import numpy as...

详解python之协程gevent模块

Gevent官网文档地址:http://www.gevent.org/contents.html 进程、线程、协程区分 我们通常所说的协程Coroutine其实是corporate ro...