打字猴:1.70101e+09
1701010000 相应的Dijkstra算法算法步骤如下。
1701010001
1701010002
1701010003
1701010004
1701010005 (1)初始化,令,;
1701010006
1701010007 (2)在R中寻找一个顶点vk,使得:
1701010008
1701010009
1701010010
1701010011
1701010012
1701010013
1701010014 置。若,则算法终止,否则转(3);
1701010015
1701010016
1701010017 (3)修正d(vj),对R中每个vj,令:转(2)。
1701010018
1701010019
1701010020
1701010021 这个算法经过|V|-1次循环之后,所有顶点都被选出,的终值就给出了从顶点v1到其余各顶点的最短路径的长度,反向追踪即可以得到最短路径。
1701010022
1701010023 【问题】
1701010024
1701010025 假设有一个旅行家,他居住在城市v1,他计划游览附近的若干城市,假设这些城市网络可以用图8-22来表示,现在他首先要估算从A出发到城市v8的最少花费,然后确定行程,如何求解v1到各顶点的最短距离。
1701010026
1701010027
1701010028
1701010029
1701010030 图8-22 城市网络图
1701010031
1701010032 【分析】
1701010033
1701010034 根据图8-22写出图G的带权邻接矩阵:
1701010035
1701010036
1701010037
1701010038
1701010039 则相应的权值wij即是W的第i行第j列的元素。由于G是无向图,可见W为对称阵。
1701010040
1701010041
1701010042 (1)令,则有:
1701010043
1701010044
1701010045
1701010046
1701010047
1701010048 (2),则有:
1701010049
[ 上一页 ]  [ :1.70101e+09 ]  [ 下一页 ]