单选题 以下有关图的最短路径的说法中正确的是______。
  • A.带权有向图的最短路径一定是简单路径
  • B.在有向图中,从一个顶点到另一个顶点的最短路径是唯一的
  • C.求单源最短路径的Dijkstra算法不适用于有回路的带权有向图
  • D.在用Floyd算法求解各顶点之间的最短路径时,每个表示两个顶点之间路径的path(k-1)[i][j]一定是path(k)[i][j]的子集
【正确答案】 A
【答案解析】[解析] 简单路径是没有重复顶点的路径。图的最短路径采用贪心法求解,在求从vi到vj的最短路径时,可以绕过那些已经求得最短路径的顶点,缩短从vi到vj的最短路径。有可能最短路径经过许多顶点,但绝不会绕过,所以图的最短路径应是简单路径。其他选项都是错误的。在有向图中从一个顶点到另一个顶点的最短路径不是唯一的,但最短路径长度应是唯一的。Dijkstra算法仅要求边上的权值不能为负值,并未排除有回路的带权有向图,不过它的结果应是简单路径。另外,path(k-1)[i][j]是从顶点vi绕过顶点v0,v1,…,vk-1到达vj的最短路径,path(k)[i][j]是从顶点vi绕过顶点v0,v1,…,vk到达vj的最短路径,路径可能会改变,不是子集。