gpt4 book ai didi

algorithm - 检查图中的顶点是否属于循环

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:33:00 24 4
gpt4 key购买 nike

我有一个无向图(可能有多个边),我需要在 O(|V|) 中检查给定顶点是否属于某个循环。请注意,图形可以是密集的。

最佳答案

如果您可以走出循环并稍后通过其他顶点返回,则该顶点将属于循环。

算法可以如下:

  1. 将当前顶点 V0 添加到已访问顶点列表 V。

  2. 当 sizeof(V) < N 时,我们将列出 V1, ..., Vk,您可以从 V0 转到

  3. 重复第 2 步,直到在途中找到 V0 - 这意味着它处于循环中 - 或者直到 sizeof(V) = N 或没有新的顶点可以添加到 V (图可能断开连接)。 注意: 重复第 2 步意味着我们找到可以从最后添加的集合 (V1, ..., Vk).

通过这个算法,我看到每个顶点只检查一次,所以它是 O(|V|)。

关于algorithm - 检查图中的顶点是否属于循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26837403/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com