rustworkx.longest_simple_path#
- longest_simple_path(graph)[source]#
返回图形中的最长简单路径
此函数搜索计算所有简单路径的所有配对,并返回其中长度最长的一条路径。它的功能大致相当于运行类似以下代码:
from rustworkx import all_pairs_all_simple_paths max((y.values for y in all_pairs_all_simple_paths(graph).values()), key=lambda x: len(x))
但此函数将比使用
max()更高效,因为搜索在返回Python之前并行执行。如果图中存在多个相同最大长度的路径,则只会返回其中一条。对于多个最长路径中具体返回哪一条不做保证(这取决于并行执行顺序)。这是为了提高运行时性能所做的权衡。如果在此类情况下需要稳定返回值,请考虑改用上述等效的max()方法。此函数支持多线程,默认会启动一个与CPU数量相等的线程池。您可以通过
RAYON_NUM_THREADS环境变量来调整线程数量。例如,设置RAYON_NUM_THREADS=4会将线程池限制为4个线程。- Parameters:
graph (PyGraph) – 在图中查找最长路径
- Returns:
表示图中找到的最长简单路径的节点索引序列。如果图为空,将返回
None代替。- Return type: