gpt4 book ai didi

algorithm - 为什么广度优先搜索的时间复杂度是O(V+E)?

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

什么时候实际上应该是 O(E) 因为 E 在图中的范围从 V-1 到 V(V-1)/2?为什么 BFS 的时间复杂度是 O(E+v)。

在 CLRS 中说 O(V) 来自每个顶点的入队和出队操作,因为存在 V 个顶点所以它是 O(1) * V = O(V)。但问题是,当所有 V 顶点都在使用时,它在一个完全连接的图中,但在连接图中 E=V-1 在最小情况下所以它不应该是 O(E) 而不是 O(V+E) ?

最佳答案

因为复杂性 + 在某种程度上等同于 max(参见 Dukeling@ 的评论)。在某种程度上你是对的。对于常规连接图,您可以假设它是 O(E),因为边数多于顶点数。

但是,让我们看一个没有边的图。BFS 循环不会做任何事情,但是作为设置的一部分,您需要初始化具有 V 元素的已访问向量(可能是您的实现可能需要的更多附加信息),因此 O(V)。

由于我们不知道得到什么样的图,复杂度的正确表达方式是 O(V+E)。

关于algorithm - 为什么广度优先搜索的时间复杂度是O(V+E)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51986894/

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