问题 单项选择题

利用动态规划方法求解每对结点之间的最短路径问题(all pairs shortest path problem)时,设有向图G=共有n个结点,结点编号1~n,设C是G的成本邻接矩阵,用Dk(i,j)即为图G中结点i到j并且不经过编号比k还大的结点的最短路径的长度(Dn(i,j)即为图G中结点i到j的最短路径长度),则求解该问题的递推关系式为()。

A.Dk(i,j);Dk-1(i,j)+C(i,j)

B.Dk(i,j):minDk-1(i,j),Dk-1(i,j)+C(i,j)

C.Dk(i,j):Dk-1(i,k)+Dk-1(i,j)

D.Dk(i,j);minDk-1(i,j),Dk-1(i,k)+Dk-1(k,j)

答案

参考答案:D

解析:

[分析]

设Pk(i,j)表示从i到j并且不经过编号比k还大的结点的最短路径,那么Pk(i,j)有以下两种可能:

①Pk(i,j)经过编号为k的结点,此时Pk(i,j)可以分为从i到k和从k到j的两段,易知产Pk(i,j)的长度为Dk-1(i,k)+Dk-1(k,j)。

②Pk(i,j)不经过编号为k的结点,此时产Pk(i,j)的长度为Dk-1(i,j)。

单项选择题
单项选择题