各位看官们,大家好,上一回中咱们说的是最短路径的例子,这一回咱们继续说:图的最短路径,闲话休
提,言归正转。让我们一起talk C栗子吧!
看官们,我们在上一回中介绍了最短路径相关的概念,这一回中我们介绍如何使用迪杰斯特拉(Dijkstra)
算法去求顶点之间的最短路径。
迪杰斯特拉算法的基本思路:假设需要计算起点A和终点B之间的最短路径。首先计算出离起点距离近的顶
点与起点之间的最短距离,然后再计算出离起点距离远的顶点与起点之间的最短距离,如此反复,一直到
达终点为止。这里的远近关系可以这样去理解,如果两个顶点之间有直接的边,那么这两个顶点的距离就
比较近,反之,这两个顶点距离就比较远。
迪杰斯特拉算法的实现步骤:
看官们,正文中就不写代码了,详细的代码放到了我的资源中,大家可以点击这里下载使用。关于该程序
我做以下的说明,方便大家理解:
下面是程序的运行结果以及程序中使用的图。从程序运行结果中可以看到,顶点A到其它顶点的距离为A->B:3,
A->C:11依此类推,A->H:17.大家可以通过对比的方式查看程序运行结果和截图,这样可以更好地理解程序的
原理。
(程序中使用的图) (程序的运行结果)
各位看官,关于最短路径的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解。