python - Networkx 获得深度的祖先
问题描述
NetworkX 中是否有任何东西可以结合祖先的功能并提供每个对象的深度?
我想获取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。
推荐阅读
- java - How does Collections.unmodifiableList (Java 8 SE) get modified when making a new ArrayList from it?
- r - 多边形内的网格点:以前的解决方案对我不起作用
- batch-file - 批处理文件 - TASKKILL /FI "WINDOW TITLE ..." 不工作
- fullcalendar - 月视图中的半角事件?
- angular - 角度:更改选择选项
- python - 当前时间等于另一个时间时如何使用函数:Python
- azure - 我们可以订阅电子邮件 ID 或单元号码作为 Azure 事件中心/通知中心的订阅者吗?
- javascript - 从 html 输入元素获取本地文件路径
- python - 谷歌日历 API 403 错误
- xaml - UWP 在 PHP 中包含/需要 XAML