ホームページ >バックエンド開発 >Python チュートリアル >辞書レイアウトトラバーサルの例の Python 実装

辞書レイアウトトラバーサルの例の Python 実装

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-16 08:45:071454ブラウズ

复制代码代码如下:

#_*_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)
自分自身。 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

出力:

复制代 代码如下:

1 2 6 5 3 4
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。