python实现dict版图遍历
python实现dict版图遍历的示例。
代码:
#_*_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:
# www.jbxue.com
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实现dict版图遍历的更多相关文章
- Python中dict的特点、更新dict、遍历dict
dict的第一个特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样.而list的查找速度随着元素增加而逐渐下降. 不过dict的查找速度快不是没有代价的,dict的缺点是占用内 ...
- Python tricks(3) -- list和dict的遍历和方法
每个人在使用python的过程中都会遍历list和dict. List遍历 最常用最简单的遍历list的方法 a = ["a", "b", "c&qu ...
- Python中dict详解
from:http://www.cnblogs.com/yangyongzhi/archive/2012/09/17/2688326.html Python中dict详解 python3.0以上,pr ...
- python 字典 dict 该注意的一些操作
在用python处理dict 的时候,有几个该注意的地方,这里跟大家提一下: 1)操作dict 时,尽量少产生新的列表对象.比如: 遍历dict的时候,如果用 dic = {"a" ...
- Python 基础 Dict 和 Set 类型
python 什么是dict 例如: d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } 我们把名称称为key,对应的成绩称为value,dic就是通过key 来查找 ...
- Python之Dict和Set类型(入门5)
转载请标明出处: http://www.cnblogs.com/why168888/p/6407905.html 本文出自:[Edwin博客园] Python之Dict和Set类型 1. Python ...
- Python的dict字典结构操作方法学习笔记
Python的dict字典结构操作方法学习笔记 这篇文章主要介绍了Python的dict字典结构操作方法学习笔记本,字典的操作是Python入门学习中的基础知识,需要的朋友可以参考下 一.字典的基本方 ...
- python 字典dict - python基础入门(15)
前面的课程讲解了字符串str/列表list/元组tuple,还有最后一种比较重要的数据类型也需要介绍介绍,那就是python字典,俗称:dict. python中的字典可与字符串/列表/元组不同,因为 ...
- Python的dict
dict把key和value关联起来,可以通过 key来查找 value. 花括号 {} 表示这是一个dict,然后按照 key: value, 写出来即可.最后一个 key: value 的逗号可以 ...
随机推荐
- 使用VMware创建Linux虚拟机
准备工作: 下载安装:VMware8.0 (这版本相对稳定,体积小) 下载:rhel-server-5.8-i386-dvd.iso Ready? Go! 1.新建空的虚拟机,相当于多了一台电脑 除了 ...
- FAQ:枚举和常规的值,到底哪种更符合程序使用?
问: 枚举和常规的值,到底哪种更符合程序使用? 答: 肯定是根据不同的场景,做出不同的选择. 如果是不同的值需要不同的逻辑,肯定是枚举好一些.如果只是表示某个取值范围且这个范围会动态变化,用常规的值 ...
- 如何把rc.local里执行的shell脚本的日志内容放到其他位置
rc.local的日志内容默认是/var/log/boot.log /etc/rc.d/rc.local文件的文件头是#!/bin/sh ,我们把这修改成#!/bin/sh -x,这样系统启动后就会把 ...
- Python任务调度模块 – APScheduler。动态修改调度时间间隔
APScheduler可以把调度任务放到内存里,也可以把任务放到数据库里,那么如何交互式修改定时任务的执行时间间隔或者下次执行时间呢? 方案一:把定时任务放到数据库里,修改数据库里任务的调度时间 方案 ...
- 一次WEB前端优化尝试
今天对自己做的项目中的一个设计器界面加载速度上进行了优化,因为页面在加载的时候,感觉有点慢.首先,我用firefox的yslow和chrome的pagespeed进行了测试,效果如下,分数有点不同,但 ...
- jQuery/javascript实现IP/Mask自动联想功能
之前做一个云计算的项目,涉及到一个安全组自动联想的功能,思想是这样的: 安全组规则之间是可以相互引用的,也可以自己是自己手动输入的ip/mask,这时候可以加一个功能,实现securityGroupI ...
- SQL Alias
There are two types of aliases that are used most frequently in SQL command: which is column alias a ...
- js和jquery判断事件流
$('body').on('click',function(e){ var $target = $(e.target); if($target.parents('.fixNav>div').le ...
- (转)LIB和DLL的区别与使用
共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library.一种是LIB包含函数 ...
- easyui datagrid 分页保持checkbox选中状态
刚开始我一直迷迷糊糊的写了很久,发现其实很简单 先给大家看看我的笨办法 var checkedItems = []; function ischeckItem() { for (var i = 0; ...