我正在使用Rust的petgraph库,想知道如何检查节点是否属于循环。函数
petgraph::algo::is_cyclic_directed
可以告诉我图中是否存在任何循环,但是在查看所有文档后,我找不到任何可以告诉我节点是否属于循环的函数。我本以为这将是一个常见的任务,需要一个辅助函数。
现在我可以自己遍历图,但我能想到的代码既不是最简洁的,也不太可能高效。
这里最好的选择是什么?
algo::has_path_connecting
从节点到节点,如果返回true,则存在一个循环。不幸的是,“如果[from和to]相等,则此函数返回true。”所以这种方法行不通。 - David Sullivan