【问题标题】:How to find path with highest sum in a weighted networkx graph?如何在加权networkx图中找到总和最高的路径?
【发布时间】:2014-06-03 06:12:37
【问题描述】:

我有一个有向 networkx 加权图。如何找到权重总和最大的路径?

【问题讨论】:

    标签: python networkx


    【解决方案1】:

    您可以使用all_simple_paths 并检查最大值。假设您有一个采用路径并为您提供权重总和的函数:

    heaviest_path = max((path for path in nx.all_simple_paths(G, source, dest)),
                        key=lambda path: get_weight(path))
    

    如果其中两个重量相同,这将为您提供找到的第一个。

    【讨论】:

    • 到目前为止没有任何抱怨,但对我来说,我需要将生成器表达式放在额外的括号中。 -> max((path for path in nx.all_simple_paths(G, source, dest)),...
    • @peer 感谢您的关注,我已对其进行了编辑。我相信旧版本的 Python 允许这样做,或者很可能我没有测试它(因为我没有 get_weight)。
    猜你喜欢
    • 1970-01-01
    • 2022-01-19
    • 2020-04-08
    • 2016-06-25
    • 2014-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多