单选题 求最短路径的Dijkstra算法的时间复杂度为______。
  • A.O(n)
  • B.O(n+e)
  • C.O(n2)
  • D.O(n×e)
【正确答案】 C
【答案解析】[解析] 用Dijkstra算法求从带权有向图的某个源顶点到其他各个顶点的最短路径,执行n-1次或n-2次选择,每次选择一个顶点后还要计算绕过这个新选出的顶点是否能够缩短从源顶点到其他未选择最短路径的顶点的路径长度,有两层嵌套for循环,所以算法的时间复杂度为O(n2)。