精选优质文档-倾情为你奉上Dijkstra算法模型设计与实现一、Dijkstra算法概述Dijkstra算法是一种点对多点的集中式最短路径算法,即寻找网络中其他所有节点到目的节点的最短路径。Dijkstra算法通过对路径的长度进行迭代,从而计算出到达目的节点的最短路径。其基本思想是按照路径长度增加的顺序来寻找最短路径,显然有:到达目的节点的最短路径中最短的肯定是节点的最近节点所对应的单条链路,最短路径中下一个最短的肯定是节点的下一个最近的邻节点所对应的单条链路,或者是通过前面选定的节点的最短的由两条链路组成的的路径,依次类推。二、Dijkstra算法描述设每个节点标定的到达目的节点1的最短路径长度估计为,如果在迭代的过程中,已变成一个确定的值,称节点为永久标定的节点,这些永久标定的节点的集合用表示。在算法的每一步中,在以外的节点中,必定是选择与目的节点1最近的节点加入到集合中。具体算法如下:1. 初始化,即,。(若,则)。2. 寻找下一个与目的节点最近的节点,即求使下式成立的。置。如果包括了所有的节点,则算法结束。