在图G中求两个结点之间的最短路径可以采用的算法是()。
A.迪杰斯特拉(Dijkstra)算法
B.克鲁斯卡尔(Kruskal)算法
C.普里姆(Prim)算法
D.广度优先遍历(BFS)算法
A.迪杰斯特拉(Dijkstra)算法
B.克鲁斯卡尔(Kruskal)算法
C.普里姆(Prim)算法
D.广度优先遍历(BFS)算法
点到某一指定顶点v的最短路径,例如,对于图8-47(a)所示的带权有向图,用该算法求得的从各顶点到顶点2的最短路径如图8-47(b)所示.
关于最短路径的读法以顶点0为例,在从顶点0到顶点2的最短路径上,顶点0的后继为顶点1(即path[0]=1),顶点1的后继为顶点3(即path[1]=3),顶点3的后继顶点为2(即path[3]=2).
编写一个算法,求解一个带权有向图的单目标最短路径问题。假设图G的顶点数据的类型为char,边上权值的数据类型为float。
利用动态规划方法求解每对节点之间的最短路径问题(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的最短路径长度),则求解该问题的递推关系式为(62)。
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)=min{Dk-1(I,j),Dk-1(I,j)+C(I,j)}
D.Dk(I,j)=min{Dk-1(I,j),Dk-1(I,K)+Dk-1(k,j)}
为,这里的路径长度是指路径中所含的边数。编写一个算法求T的直径、并分析算法的时间复杂度。
在图4-2中,由点O(0,0)到点P(5,6)的最短路径共有(39)条。
图4-2 求最短路径
A.126
B.128
C.252
D.256
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.Dijkstra
B.Floyed
C.Prim
D.Kruskal
A.连通无向网的最小生成树中,顶点数恰好比边数多1
B.若有向图是强连通的,则其边数至少是顶点数的2倍
C.可以采用AOV网估算工程的工期
D.关键路径是AOE网中源点至汇点的最短路径
称d(u,v)为图G<A,E>=中结点u,v间的距离:
又称max{d(u,v)|u,vV}为图G的直径,试求如图9.15所示的图的直径.