在图G中求两个结点之间的最短路径可以采用的算法是()。
A.迪杰斯特拉(Dijkstra)算法
B.克鲁斯卡尔(Kruskal)算法
C.普里姆(Prim)算法
D.广度优先遍历(BFS)算法
A.迪杰斯特拉(Dijkstra)算法
B.克鲁斯卡尔(Kruskal)算法
C.普里姆(Prim)算法
D.广度优先遍历(BFS)算法
第1题
间的一条最短路径,假设从初始顶点到目标顶点之间存在路径。现有一种解决该问题的方法:
(1)设最短路径初始时仅包含初始顶点,令当前顶点u为初始顶点;
(2)选择离u最近且尚未在最短路径中的一个顶点v,加人到最短路径中,并修改当前结点u=v;
(3)重复步骤(2),直到u是目标顶点时为止。
请问上述方法能否求解最短路径?若该方法可行,请证明之;否则请举例说明。
第2题
在以下假设下,重写Djkstra算法:
(1)用邻接表表示有向带权图G,其中每个边结点有3个域:邻接顶点vertex,边上的权值length和边链表的链接指针link
(2)用集合T=V(G)-S代替S(已找到最短路径的顶点集合),利用链表来表示集合T。
试比较新算法与原来的算法,计算时间是快了还是慢了,给出定量的比较。
第3题
为,这里的路径长度是指路径中所含的边数。编写一个算法求T的直径、并分析算法的时间复杂度。
第4题
A.由树的先序遍历序列和后序遍历序列可以惟一确定一棵树
B.二叉树不同于度为2的有序树
C.深度为k的二叉树上最少有k个结点
D.在结点数目相同的二叉树中,最优二叉树的路径长度最短