为什么DFS算法在邻接矩阵表示中具有O(V2)共轭性,而在邻接列表表示中具有O(V + E)。

最佳答案

对于矩阵:

每个顶点有一行和一列。如果存在从顶点i到顶点j的边,则位置i,j包含1。

整个矩阵的大小是| V | ^ 2

为什么复杂度是| V | ^ 2?

因为矩阵中的每个位置都会被访问一次。

对于邻接链表:

链接列表的集合,其中每个顶点都有一个列表,因此顶点v的列表是与顶点v相邻的所有顶点的列表。

为什么复杂度是| E | + | V |?
因为邻接链表中的每个位置都被访问过一次,所以有| V |。顶点和| E |边缘。

关于graph - 为什么DFS的复杂度在邻接矩阵中是O(V ^ 2)而在邻接列表表示中是O(V + E)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24101412/

10-12 17:43