利用动态规划法求解每对节点之间的最短路径问题时,设有向图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)}
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)}
举一反三
- 利用动态规划方法求解每对节点之间的最短路径问题(all pairs shortest path problem)时,设有向图 G=<V,E>共有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)=Dk-1(I,k)+Dk-1(k,j) C: Dk(I,j)=minDk-1(I,j),Dk-1(I,j)+C(I,j) D: Dk(I,j)=minDk-1(I,j),Dk-1(I,K)+Dk-1(k,j)
- 利用动态规划方法求解每对节点之间的最短路径问题(all pairs shortest path problem)时,设有向图 G=<V,E>共有n个节点,节点编号1~n,设C是G的成本邻接矩阵,用Dk(I,j)即为图G中节点i到j并且不经过编号比k还大的节点的最短路径的长度(Dn(i,j)即为图G中节点i到j的最短路径长度),则求解该问题的递推关系式为()。 A: Dk(I,=Dk-1(I,+C(I, B: Dk(I,=Dk-1(I,+Dk-1(k, C: Dk(I,=min{Dk-1(I,,Dk-1(I,+C(I,} D: Dk(I,=min{Dk-1(I,,Dk-1(I,+Dk-1(k,}
- 设有定义:int i=0,j=0,k=0; 则执行语句++i||++j&&++k;后i,j,k的值为() A: i=1;j=1;k=1 B: i=1;j=0;k=1 C: i=1;j=0;k=0 D: i=0;j=0;k=0
- 有n个正整数组成的数组a,两端的数不能删除,中间每删除一个数,其得分为其本身同其两侧数的乘积,求其中间n-2个数逐个删除后的最大得分?设m[i][j] 为从a[i]到a[j]将中间数删除后的最大得分,从如下公式中选择m[i][j]的递归定义[/i][/i][/i] A: m[i][j]=max(m[i][k]+m[k+1][j]) , i<k<j , if(j-i>1).m[i][j]=0; if(j-i==1). B: m[i][j]=max(m[i][k]+m[k][j]) , i<k<j , if(j-i>1).m[i][j]=0; if(j-i==1) C: m[i][j]=max(m[i][k]+m[k][j]+a[k-1]*a[k]*a[k+1]) , i<k<j , if(j-i>1).m[i][j]=0; if(j-i==1) D: m[i][j]=max(m[i][k]+m[k][j]+a[k-1]*a[k]*a[k+1]) , i<=k<=j , if(j-i>1).m[i][j]=0; if(j-i==1)
- 【单选题】运行下面的程序,得到的输出是()#include<stdio.h>int main() { int i, j; for(i=1;i<=2;i++) for(j=1;j<=2;j++) printf("i=%d, j=%d ",i,j);} A. i=1, j=1 i=1 , j=2 i=2 , j=1 i=2 , j=2 B. i=1, j=1 i=2 , j=1 i=1 , j=2 i=2 , j=2 C. i=1, j=1 i=2 , j=2 i=1 , j=1 i=2 , j=2 D. i=1, j=1 i=1 , j=1 i=2 , j=2 i=2 , j=2