利用动态规划法求解每对节点之间的最短路径问题时,设有向图G=<V,E>共有n个节点,节点编号1~n,设C是G的成本邻接矩阵,用Dk(i,j)表示从i到j并且不经过编号比k还大的节点的最短路径的长度(Dn(i,j)即为图G中节点i到j的最短路径长度),则求解

admin2009-05-15  26

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

选项 A、Dk(i,j)=Dk-1(i,j)+C(i,j)
B、Dk(i,j)=min{Dk-1(i,j),Dk-1(i,j)+C(i,j)}
C、Dk(i,j)=Dk-1(i,k)+Dk-1(k,j)
D、Dk(i,j)=min{Dk-1(i,j),Dk-1(i,k)+Dk-1(k,j)}

答案D

解析 从“Dk(i,j)表示从i到j并且不经过编号比k还大的节点的最短路径的长度”中,我们得到一个提示,在求i,j之间最短路径的时候,会考虑它经过哪些节点能缩短原来的路径。在 Dk(i,j)=min{Dk-1(i,j),Dk-1(i,k)+Dk-1(k,j)}中,Dk(i,j)表示i到j不经过k的路径长度,而 Dk-1(I,k)+Dk-1(k,j)表示i到j经过k的路径长度,且min()函数用于找最小值,所以此式正确。
转载请注明原文地址:https://kaotiyun.com/show/hwxZ777K
0

相关试题推荐
最新回复(0)