在求最短路径的算法中,要求所有边上的权值都不能为负值的算法是(①),虽然允许边上的权值为负值,但不允许在有向回路中出现负值的算法是(②).
A、Kruskal算法
B、Dijkstra算法
C、Floyd算法
D、Prim算法
A、Kruskal算法
B、Dijkstra算法
C、Floyd算法
D、Prim算法
第1题
当各边上的权值()时,BFS算法可用来解决单源最短路径问题。【中科院计算所2000一、3(2分)】
A.均相等
B.均互不相等
C.不一定相等
第3题
求从指定源点到其余各顶点的迪杰斯特拉(Dijkstra)最短路径算法中弧上权不能为负的原因是在实际应用中无意义; (2)利用Dijkztra求每一对不同顶点之间的最短路径的算法时间是O(n3)(图用邻接矩阵表示); (3)Floyd求每对不同顶点对的算法中允许弧上的权为负,但不能有权和为负的回路。上面不正确的是()。【南京理工大学2000一、21(1.5分)】
A.(1),(2),(3)
B.(1)
C.(1),(3)
D.(2),(3)
第6题
以下叙述正确的是()。
A.最短路径一定是简单路径
B.Diikstra算法不适合求有回路的带权图的最短路径
C.Diikstra算法不适合求任意两个顶点的最短路径
D.Floyd算法求两个项点的最短路径时,pathk-1一定是pathk的子集
第7题
在以下假设下,重写Djkstra算法:
(1)用邻接表表示有向带权图G,其中每个边结点有3个域:邻接顶点vertex,边上的权值length和边链表的链接指针link
(2)用集合T=V(G)-S代替S(已找到最短路径的顶点集合),利用链表来表示集合T。
试比较新算法与原来的算法,计算时间是快了还是慢了,给出定量的比较。
第8题
设图G是一个有向图,设顶点值为字符型,边上权值为浮点型,其十字链表的存储表示定义如下:
(1)实现图的构造函数Graphmu1.输人-系列顶点和边,建立带权有向图的十字链表。
(2)编写一个算法,基丁图G的十字链表表示求该图的强连通分量,试分析算法的时间复杂度。
(3)以图846为例,画出它的十字链表,第一次深度优先搜索得到的finished数组及最后得到的强连通分量。