如何解决Networkx 获得具有深度的祖先
NetworkX 中是否有任何东西可以结合祖先的功能并提供每个对象的深度?
我想获取所有 ancestors in NetworkX 的字典,并从源中获取每个字典的深度。现在该函数返回一个集合,但我想知道每个项目在对象的依赖项中的深度。
我的源是一个 sql 表,它有一个管道的输入和输出,然后我把它变成一个有向图。示例:
input output
b a
c a
x b
y b
z b
w b
l c
m c
在运行祖先之后,我拥有链中所有内容的集合,但我需要一种方法也能够说 x 是级别 3 或深度 3 对象。
我一直在研究 traversal 之类的各种函数,但在提供此功能时没有任何东西让我眼前一亮。在这一点上,我是否需要创建自己的循环来重新创建具有深度的祖先?
解决方法
我假设您已经完成了预处理,并且有一个图 pipe
,并且您知道根节点 a
。
single_source_shortest_path_length(path,a)
这将返回节点和路径长度的字典。深度是路径长度加1。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。