【问题标题】:Lowest common ancestor in networkxnetworkx 中最低的共同祖先
【发布时间】:2020-05-21 21:16:29
【问题描述】:

我怎样才能得到这个生成器的输出? out.next() 或 next(out) 不起作用:

out=nx.tree_all_pairs_lowest_common_ancestor(G)
print(out)
<generator object tree_all_pairs_lowest_common_ancestor at 0x000002BE4EF90D48>

【问题讨论】:

    标签: generator networkx lowest-common-ancestor


    【解决方案1】:

    nx.tree_all_pairs_lowest_common_ancestor 仅用于处理某些图形结构,如文档中所述。在没有指定 root 的情况下,如您的情况,该函数将执行以下操作:

    如果没有指定根,则找到度数为 0 的恰好一个节点,并且 用它。如果没有找到,或者不止一个,则引发错误。还要检查 对于度数大于 1 的任何节点,这意味着 G 不是 树。

    因此,您的函数很可能有多个 root 节点,或者没有,即您的图不是树。因此,您可以使用Breadth-first search 进行本地搜索,也可以在nx.tree_all_pairs_lowest_common_ancestor 中指定要操作的子树的根节点。

    【讨论】:

    • 非常感谢。在我指定了根节点后,next(out) 为我工作。顺便说一句,我的图表是 DAG。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 2011-05-03
    • 2012-11-08
    相关资源
    最近更新 更多