欢迎来到天天文库
浏览记录
ID:28160851
大小:17.67 KB
页数:5页
时间:2018-12-08
《最短路径的研究》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。最短路径的研究 【摘要】经过实践证明,采用自定义结构数组的方式来表示邻接表的方法,其占用空间较小,花费时间较少,编程难度较小,执行效率较高,在Dijkstra最短路径算法中是较优的一种实现方法。 【关键词】最短路径;Dijkstra 1、最短路径的概念 最短路径指的是网络中两个点之间的距离最小的计算路径。距离可以是实际路程的距离,也可以是时间、流量和运费等度
2、量。 2、最短路径的Dijkstra算法原理 常用的最短路径算法有:Ford算法、Dijkstra算法、Floyd算法、Moore算法、K值算法等。本文主要就Dijkstra算法进行研究。Dijkstra算法其实是一种典型算法,它采取分步计算的方法实现最短路径的计算。由一个起源点到其他所有顶点的最短距离。主要特征是由一个起始点不断地向外扩展,到第一个点,再到第二个点,直至终点为止。求解出来是起始点到所有其他各个点的最短路径,并按照从小到大进行排列。由于Dijkstra算法需要计算起始点经过各个节点的距离,所以花费的时间较长,相对效率较低
3、,但是最后得到的是最短路径的最优解。 3、Dijkstra算法步骤为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。 在有向图G=中,有e条弧和n个顶点,其中弧的集合为E,顶点的集合为V,计算起源点VS至终点VT之间最短路径。第
4、一步骤:令邻接矩阵L来代表有向图,其中弧的权值用L来表示,用L=∞来假设当弧不存在的情况;起源点VS与顶点X之间的距离用D来表示,很显然,起源点VS的D值为零,其余各顶点为∞;已找到的起源点VS到顶点之间最短距离的集合用S来表示,其初始时为空集;没有找到的到顶点的最短路径的集合用V-S来表示。第二步骤:把起源点VS做好标记,设定Y=VS,S=S∪{VS};第三步骤:在没有找到到顶点的最短路径的集合中,当D+L5、Vk∈V-S},当D=∞,那么表示起源点6、VS与V-S各顶点之间没有路径,算法自动终止;相反,从起源点VS开始到达所示终点的一条最短路径就是Vk,要对Vk做好标记。然后,令Vk=Y,并把其合并到集合S,也就是S=S∪{Vk};第五步骤:当终点VT和Y等值时,这代表这起源点VS至终点VT之间最短路径找到了,算法自动终止,否则,将自动转到第三步骤进行计算。 4、Dijkstra算法分析为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点7、数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。 Dijkstra算法中,网络的拓扑关系一般是采用二维数组来存储,顶点之间的关系在数组中可以清楚的表示出来,这种实现方式就是邻接矩阵,这样二维数组的存储空间为n2,假设其中可用的信息为e的话,那么1-e/n2就是它的冗余度,要查找某个顶点的邻接点就要把其他所有顶点都一起找过,也就是说查找所有顶点的邻接点需要的时间为T。所以以邻接矩阵为实现方式的缺点是占用空间大,执行效率低,优点是8、编程简单,实现难度较小。Dijkstra算法中,网络的拓扑关系一般是采用邻接表来存储,相应顶点的链表或数组就只存储其对应的顶点的相关数据,这种实现方式就是邻接表,一般分为两种方式:链表和结构数组。当链表所存储空间为e,因为其存储的数据都是有用信息,所以冗余度为零,要查找某个顶点的邻接点的次数就会减少,变成是其自身的出度,查找所有顶点的邻接点需要的时间为T。所以以链表为邻接表实现方式的缺点是需要对各个顶点进行指针设置,并相应地建立检查列,编程相对难度较大,优点是占用空间小,执行效率较高。在采用邻接表的实现方式中,可以用结构数组来代替链表,这种9、结构数组是自定义的。其计算原理:先进行每个顶点的出度计算,可以得到其最大值Dmax;全部顶点的出度平均值为e/n;把当前的顶点的序号和出度存储在邻接表中,当某个顶点的出度
5、Vk∈V-S},当D=∞,那么表示起源点
6、VS与V-S各顶点之间没有路径,算法自动终止;相反,从起源点VS开始到达所示终点的一条最短路径就是Vk,要对Vk做好标记。然后,令Vk=Y,并把其合并到集合S,也就是S=S∪{Vk};第五步骤:当终点VT和Y等值时,这代表这起源点VS至终点VT之间最短路径找到了,算法自动终止,否则,将自动转到第三步骤进行计算。 4、Dijkstra算法分析为了充分发挥“教学点数字教育资源全覆盖”项目设备的作用,我们不仅把资源运用于课堂教学,还利用系统的特色栏目开展课外活动,对学生进行安全教育、健康教育、反邪教教育等丰富学生的课余文化生活。为了确保“教学点
7、数字教育资源全覆盖”项目设备正常使用,我校做到安装、教师培训同步进行。设备安装到位后,中心校组织各学点管理人员统一到县教师进修学校进行培训,熟悉系统的使用和维护。 Dijkstra算法中,网络的拓扑关系一般是采用二维数组来存储,顶点之间的关系在数组中可以清楚的表示出来,这种实现方式就是邻接矩阵,这样二维数组的存储空间为n2,假设其中可用的信息为e的话,那么1-e/n2就是它的冗余度,要查找某个顶点的邻接点就要把其他所有顶点都一起找过,也就是说查找所有顶点的邻接点需要的时间为T。所以以邻接矩阵为实现方式的缺点是占用空间大,执行效率低,优点是
8、编程简单,实现难度较小。Dijkstra算法中,网络的拓扑关系一般是采用邻接表来存储,相应顶点的链表或数组就只存储其对应的顶点的相关数据,这种实现方式就是邻接表,一般分为两种方式:链表和结构数组。当链表所存储空间为e,因为其存储的数据都是有用信息,所以冗余度为零,要查找某个顶点的邻接点的次数就会减少,变成是其自身的出度,查找所有顶点的邻接点需要的时间为T。所以以链表为邻接表实现方式的缺点是需要对各个顶点进行指针设置,并相应地建立检查列,编程相对难度较大,优点是占用空间小,执行效率较高。在采用邻接表的实现方式中,可以用结构数组来代替链表,这种
9、结构数组是自定义的。其计算原理:先进行每个顶点的出度计算,可以得到其最大值Dmax;全部顶点的出度平均值为e/n;把当前的顶点的序号和出度存储在邻接表中,当某个顶点的出度
此文档下载收益归作者所有