问题 问答题 简答题

请简述Dijkstra算法及其在GIS最短路径分析中的应用?

答案

参考答案:

Dijkstra算法是按路径长度递增顺序产生各顶点的最短路径。

算法过程:设最短距离已确定的顶点集合称为红集点,最短距离尚未确定的为蓝集点。

1)按路径长度递增顺序产生

各蓝顶点的最短路径;

2)在当前蓝点集中选择一个距离最小的蓝点来扩充红点集,以保证算法按路径长度递增的顺序产生各顶点的最短路径;

3)没扩充一个蓝点到红点集中,则剩余的蓝点的路径按照新加入的红点作为中间顶点进行修正,一旦加入新顶点使得蓝点路径长度最短,则用变短的路径代替原来的蓝点路径长度,重复以上过程;

4)直到所需求的蓝点已扩充到红点集时,算法结束。

应用:

1)选择要进行计算的两个结点;

2)对这两个结点进行联通分析,即采用宽度优先搜索方法,来快速判断这两个结点之间是否联通,也就是确定是否存在计算最短路径的必要,若联通则进行

3)调用Dijkstra算法,计算两个结点之间的最短路径

4)进过对计算出来的最短路径树进行优化处理后,生成最终的最短路径树,输出并推出。

单项选择题
单项选择题