python – Networkx图搜索:dfs_successors与dfs_predecessors
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Networkx图搜索:dfs_successors与dfs_predecessors,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1157字,纯文字阅读大概需要2分钟。
内容图文
![python – Networkx图搜索:dfs_successors与dfs_predecessors](/upload/InfoBanner/zyjiaocheng/794/7a2f51755f004df286ca900cddba94a1.jpg)
考虑以下图形结构(从this question借来):
G = networkx.DiGraph()
G.add_edges_from([('n', 'n1'), ('n', 'n2'), ('n', 'n3')])
G.add_edges_from([('n4', 'n41'), ('n1', 'n11'), ('n1', 'n12'), ('n1', 'n13')])
G.add_edges_from([('n2', 'n21'), ('n2', 'n22')])
G.add_edges_from([('n13', 'n131'), ('n22', 'n221')])
产量:
n---->n1--->n11
| |--->n12
| |--->n13
| |--->n131
|--->n2
| |---->n21
| |---->n22
| |--->n221
|--->n3
我可以从节点n开始执行深度优先搜索后继者并获取:
> dfs_successors(G, 'n')
{'n': ['n1', 'n2', 'n3'],
'n1': ['n12', 'n13', 'n11'],
'n13': ['n131'],
'n131': ['n221'],
'n2': ['n22', 'n21']}
但是,当我在例如深度优先搜索前辈时节点n221,没有任何反应:
> dfs_predecessors(G, 'n221')
{}
我希望输出为:
{'n221': ['n22', 'n2', 'n']}
这里出了什么问题,我怎样才能达到预期的行为?
解决方法:
dfs_predecessors()函数仅提供前一个前任.
所以,如果你这样说(节点’n’中的G的DFS并从’n22’回顾一个链接)
>>> print(networkx.dfs_predecessors(G, 'n')['n221'])
n22
你得到了你想要的一部分.
要将DFS树中的路径从n221返回到根目录:
>>> T = networkx.dfs_tree(G,'n')
>>> print(networkx.shortest_path(G.reverse(),'n221','n'))
['n221', 'n22', 'n2', 'n']
内容总结
以上是互联网集市为您收集整理的python – Networkx图搜索:dfs_successors与dfs_predecessors全部内容,希望文章能够帮你解决python – Networkx图搜索:dfs_successors与dfs_predecessors所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。