深度优先搜索标签(Python)

深度优先搜索标签(Python),python,networkx,depth-first-search,Python,Networkx,Depth First Search,我需要根据深度优先搜索期间访问节点的顺序来标记树的节点。我必须用Python实现它。我正在尝试使用lib,但仍然不知道如何使用它。你们知道怎么用吗?还是我应该试着自己去实现它 干杯,GP如果库中存在众所周知的算法,请不要尝试实现它们。这里有一个指向基本遍历算法文档的链接 玩得开心:)如果你创建一个新的图表 >>> import networkx as nx >>> g = nx.DiGraph() 再加上一些边 >>> g.add_ed

我需要根据深度优先搜索期间访问节点的顺序来标记树的节点。我必须用Python实现它。我正在尝试使用lib,但仍然不知道如何使用它。你们知道怎么用吗?还是我应该试着自己去实现它


干杯,GP

如果库中存在众所周知的算法,请不要尝试实现它们。这里有一个指向基本遍历算法文档的链接


玩得开心:)

如果你创建一个新的图表

>>> import networkx as nx

>>> g = nx.DiGraph()
再加上一些边

>>> g.add_edges_from([(0,1),(1,2),(0,3),(3,4),(3,5),(5,6)]) # etc
您可以使用
dfs\u edges()
进行遍历并查看遍历顺序

>>> nodes = nx.dfs_edges(random_g, node_) # This creates an edges iterator
>>> nodes.next()
(0, 1)
>>> nodes.next()
(1, 2)
>>> nodes.next()
(0, 3)
>>>
如果需要,您可以获取对
.next()
的调用的输出,以确定正在访问的节点

例如,(不包括第一个节点0)

>>> for n in nodes:
...     print n[1]
... 
1
2
3
4
5
6
>>>