【发布时间】:2021-01-26 22:17:56
【问题描述】:
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 等各种功能,但没有什么能提供此功能。此时我是否需要创建自己的循环来重新创建具有深度的祖先?
【问题讨论】:
-
查找树中每个节点的深度是一个由来已久的算法。我提供了一个指向先前问题的链接,该问题显示了基本递归;您只需要在完成子节点时将计算的深度分配给每个节点。这确实是您在基本图算法中查找的内容。
-
这是一个关于 NetworkX 的问题,而不仅仅是如何搜索深度。可以重新打开,因为链接的问题不是我要问的吗?