A.迪杰斯特拉(Dijkstra)算法
B.克鲁斯卡尔(Kruskal)算法
C.普里姆(Prim)算法
D.广度优先遍历(BFS)算法
A.边稠密,边稀疏
B.边稀疏,边稠密
C.边稠密,边稠密
D.边稀疏,边稀疏
A、Kruskal算法
B、Dijkstra算法
C、Floyd算法
D、Prim算法
点是否在同一个连通分量上,在该算法中选择权值最小的边的原则是该边不能在图中构成(②),它主要适用于(③)。
A、稀疏
B、稠密
C、完全
D、不完全
Joseph Kruskal于1956年提出了构造极小支撑树的另一算法:
将每个顶点视作一棵树,并将所有边按权重非降排序;
依次考查各边,只要其端点分属不同的树,则引入该边,并将端点所分别归属的树合二为一;
如此迭代,直至累计已引入n-1条边时,即得到一棵极小支撑树。
试证明:
a)算法过程中所引入的每一条边,都是某一割的极短跨越边(因此亦必属于某棵极小支撑树);
b)算法过程中的任一时刻,由已引入的边所构成的森林,必是某棵极小支撑树的子图;
点到某一指定顶点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。