迪杰斯特拉算法(Dijkstra's algorithm)
Dijkstra’s algorithm 算法
迪杰斯特拉算法(Dijkstra’s algorithm)是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法是很有代表性的最短路径算法,在很多专业课程中都作为基本内容有详细的介绍,如数据结构,图论,运筹学等等。
在地理信息系统中,Dijkstra’s algorithm 主要在network analysis中应用。以ArcGIS为例,最短路径就是基于最为经典的Dijkstra’s algorithm来实现的。
算法解释
isacc计算机科学网站提供该算法的具体解释,点击链接{target="_blank"}。
代码实现(PostGIS)
相关教程:https://zhuanlan.zhihu.com/p/82227139
pgr_costResult[] pgr_dijkstra(text sql, integer source, integer target,
boolean directed, boolean has_rcost);
代码实现(Python)