一.引言
图论是计算机科学中的一个重要研究工具,它产生于欧拉(Euler)对图的连通性的研究,但直到本世纪计算机诞生以后才得最迅猛的发展。
图论中的最短路径问题在计算机中有着广泛的应用,例如网络通信中最短路由的选择,人工智能中搜索算法的研究等。
本文对几种常见最短路径的算法进行介绍,尤其是在1968年发展起来的A*算法。
二. 常用算法简介
为叙述的方便,本文中假定所有图均以邻接矩阵表示,并将图论中的常用符号列于下:
G---------------------无向图或有向图
A=[aij]----------------图G的邻接矩阵表示
V(G)------------------图G的顶点数
ε(G)-----------------图G的边数。
1. Floyd算法
这是几种最短路径算法中最简单的一种,本文不详细介绍,仅给出算法描述。
算法:
For k:=1 to n do
For i:=1 to n do
For j:=1 to n do
If A[i,j]+A[k,j]