2001
最短路问题的简便算法
(
二
)
任运平
(
运
城高等专科学校
数学系
山西
运城
044000
)
摘
要
本文分别给出了一种比
E
·
W
·
Dijkstra
最短路算法更为方便的求最
短路的算法和一种求最
大流
-
最小费用的简便计算方法
。
关键词
最短路
最短路最大流
中图分类号
O157
.
5
文献标识码
:
A
文章编号
:
1008
-
8008
(
2001
)
03
-
0003
-
2
一
、
基本理论
设有网络
N
,
V
1
和
V
n
分别是网络的起点和终点
,
网络中任意一边
〔
V
i
,
V
j
〕
的权数为
b
i
,
要寻找从起点
到终点的通路使其总长度最短
,
这样的问题称为最短路问题
。
对于这个问题
,
目前公认的最好算法是由
E
·
W
·
Dijkstra
在
1959
年提出的
。
这个算法虽然很好
,
但是表现形式比较繁琐复杂
,
本文首先给出计算最短路
的一种简便计算方法
:
图上作业法
。
定义
1
:
设图
G
=(
V
,
E
)
,
对
G
的每一条边
〔
V
i
,
V
j
〕,
相应的有一个边长
,
简记为
b
,
称为这条边的权
,
G
连同在它边上的权称为赋权图
,
也称为一个网络
。
在一个网络
G
中
,
一条边
〔
V
i
,
V
j
〕
的权也说成是它的长
。
G
中一条通路
L
指的是对
G
中任意的二点
,
由
其中一点开始沿着由其相连的边顺次到达另外一点
,
其中每条边的终点是下一条边的起点
。
L
的长度指的是
L
上所有边的长度之和
。
其中长度最小的那条通路叫做连接这二点的最短路
。
定理
1
:
L
是连接
V
1
到
V
n
的最短路的充分必要条件是该通路中连接任意相邻二点的弧是由这二点所
确定的圈上的劣弧
。
这个定理的结论是比较明显的
,
下面我们利用这个结论计算一个网络中二点之间的最短路
。
例
1
: