📜  门| Gate IT 2005 |问题15

📅  最后修改于: 2021-06-29 19:46:19             🧑  作者: Mango

在下表中,左列包含标准图形算法的名称,右列包含算法的时间复杂度。将每种算法与其时间复杂度进行匹配。

 1. Bellman-Ford algorithm
2. Kruskal’s algorithm
3. Floyd-Warshall algorithm
4. Topological sorting
 A : O ( m log n)
B : O (n3)
C : O (nm)
D : O (n + m)

(A) 1→C,2→A,3→B,4→D
(B) 1→B,2→D,3→C,4→A
(C) 1→C,2→D,3→A,4→B
(D) 1→B,2→A,3→C,4→D答案: (A)
解释:

  • Bellman-Ford算法:时间复杂度:O(VE)
  • Kruskal算法时间复杂度: O(ElogE)或O(ElogV)。边缘排序需要O(ELogE)时间。排序后,我们遍历所有边缘并应用find-union算法。查找和联合操作最多需要O(LogV)时间。因此,总体复杂度为O(ELogE + ELogV)时间。 E的值最大为V ^ 2,因此O(LogV)等于O(LogE)。因此,整体时间复杂度为O(ElogE)或O(ElogV)
  • Floyd-Warshall算法时间复杂度:O(V ^ 3)
  • 拓扑排序时间复杂度:上面的算法只是带有额外堆栈的DFS。因此,时间复杂度与DFS相同,即O(V + E)。

这个问题的测验