在 detectUndirectedCycle 中构建的循环路径不正确

作者: Imran-imtiaz48创建于 2025年6月26日更新于 2026年7月16日

在`detectUndirectedCycle`函数中,循环路径被构建为一个对象,其顶点键作为属性,其父顶点作为值。这样返回的`cycle`就不是标准的路径数组,而是一个映射,对于那些期望形成循环的有序顶点路径的消费者来说可能不直观或不实用。更传统的方法是返回表示循环的**有序数组**的顶点,起点和终点在同一个顶点。此外,如果检测到循环,该函数将继续遍历图,直到DFS完成,但一旦设置了循环,`allowTraversal`就会阻止遍历。然而,在检测到循环后提早退出可能会提高效率。

内容来源: trekhleb/javascript-algorithms