rustworkx.dag_weighted_longest_path#

dag_weighted_longest_path(graph, weight_fn, /)#

在有向无环图(DAG)中查找加权最长路径

此函数与 rustworkx.dag_longest_path() 的不同之处在于 此函数需要 weight_fn 参数,并且 weight_fn 被 预期返回一个 float 而不是 int

Parameters:
  • graph (PyDiGraph) – 用于计算最长路径的图。输入的 对象必须是无环有向图(DAG)。

  • weight_fn – 一个Python可调用对象,当函数遍历图时,将为每条边传递3个位置参数:源节点、目标节点和边的权重。预计该函数将返回该边的浮点数权重。例如,dag_longest_path(graph, lambda: _, __, weight: weight) 可用于直接使用浮点数边权重。还值得注意的是,此函数按拓扑顺序遍历,并且仅检查每个节点的传入边。

Returns:

有向无环图(DAG)上最长路径的节点索引

Return type:

NodeIndices

Raises:
  • 异常 – 如果发生意外错误或找不到路径

  • DAGHasCycle – 如果输入的PyDiGraph存在环