设一个具有10个顶点的带权有向图采用邻接知阵存储,若使用Dijkstra算法求从某源顶点到其他各目
点到某一指定顶点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。
A、1,2,3,4,5
B、1,2,3,5,4
C、1,2,4,5,3
D、1,2,5,3,4
A、用邻接矩阵存储一个图时所占用的存储空间大小与图中的顶点个数有关,而与图的边数无关
B、邻接表只能用于有向图的存储,邻接矩阵对于有向图和无向图的存储都适用
C、邻接矩阵只适用于稠密图(边数接近于顶点数的平方),邻接表适用于稀疏图(边数远小于顶点数的平方)
D、存储无向图的邻接矩阵是对称的,因此只要存储邻接矩阵的下(上)三角部分就可以了
设G是一个有n个顶点的有向图,从顶点i发出的边的最小费用记为min(i).
(1)证明图G的所有前缀为x[1,i]的旅行售货员问路的费用至少为:
式中,a(u,v)是边(u,v)的费用.
(2)利用上述结论设计一个高效的上界函数,重写旅行售货员问题的回溯法,并与主教材中的算法进行比较.
设G是一个有n个顶点的有向图,从顶点i发出的边的最大费用记为max(i).
(1)证明旅行售货员回路的费用不超过.
(2)在旅行售货员问题的回溯法中,用上面的界作为bestc的初始值,重写该算法,并尽可能地简化代码.
在如图8-1所示的有向图中:
(1)该图是强连通的吗?若不是,给出其强连通分量。
(2)请给出该图的所有简单路径及有向环。
(3)请给出每个顶点的入度和出度。
(4)请给出该图的邻接矩阵、邻接表、逆邻接表和十字链表。