Algorithm Fleury的时间复杂性&x27;s算法

Algorithm Fleury的时间复杂性&x27;s算法,algorithm,time-complexity,Algorithm,Time Complexity,你能帮我找出Fleury算法(用于获得欧拉电路)的时间复杂度吗?这里: 除此之外,您还可以读取O(E),线性边计数。除非您指定如何识别桥边,否则Fleury的算法并不完全。Tarjan给出了一个用于识别所有网桥的线性时间算法(请参阅),因此,在每个删除的边之后重新运行Tarjan的算法将是O(E^2)。可能有更好的方法重新计算桥集,但也有更好的O(E)算法。(请参阅;不是我的网站:)Fleury算法包括以下步骤: 确保图形具有0个或2个奇数顶点 如果有0个奇数顶点,则从任意位置开始。如果有两个奇

你能帮我找出Fleury算法(用于获得欧拉电路)的时间复杂度吗?

这里:
除此之外,您还可以读取O(E),线性边计数。

除非您指定如何识别桥边,否则Fleury的算法并不完全。Tarjan给出了一个用于识别所有网桥的线性时间算法(请参阅),因此,在每个删除的边之后重新运行Tarjan的算法将是O(E^2)。可能有更好的方法重新计算桥集,但也有更好的O(E)算法。(请参阅;不是我的网站:)

Fleury算法包括以下步骤:

  • 确保图形具有0个或2个奇数顶点

  • 如果有0个奇数顶点,则从任意位置开始。如果有两个奇数顶点,则从其中一个开始

  • 一次跟随一条边。如果要在桥接器和非桥接器之间进行选择,请始终选择非桥接器

  • 边用完时停止


  • 如果通过Tarjan算法找到桥,并且这些桥存储在邻接矩阵中,那么我们不需要每次运行Tarjan算法来检查边是否是桥。我们可以在O(1)时间内检查所有其他网桥查询。因此,Flury的算法时间复杂度可以降低到O(V+E){因为这是一个DFS},但该方法需要O(V2)额外的空间来存储桥。

    它将我第二个链接中的算法归因于Fleury,这是我所能找到的任何其他来源都不支持的。我不熟悉该算法或那篇特定的论文,因此我无法判断。