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:
- Raises:
异常 – 如果发生意外错误或找不到路径
DAGHasCycle – 如果输入的PyDiGraph存在环