广度优先搜索完全图的复杂度是多少?

What is the complexity of breadth first search for a complete graph?

据说 BFS 的复杂度是线性的,即 O(V+E),但有向完全图中边的总数是 V*(V-1),这是图的大小。那么 BFS 是否需要 O(V^2) 时间来遍历一个完整的图?

BFS 在 O(V + E) 时间内运行,前提是图形由邻接表结构表示。

同样在密集的情况下,您会看到答案将是 O(V+E)。 (表示是邻接表)。

如果是邻接矩阵 O(V^2)

无论图形如何,你总是首先覆盖起点的邻居。然后也对邻居重复此操作。所以你可以看到它总是必须在 O(V+E) 时间内遍历,但它是让邻接矩阵变得困难的表示。所以它将是 O(V^2)1.

1这是因为每次我们要查找与给定顶点'u'相邻的边有哪些时,我们遍历整个数组adjmatrix[u],长度为|V|

是的,我假设你已经计算过了。

O(V+E) = O(V + V*(V-1))
       = O(V + V*V - V)
       = O(V*V)