资源描述:
《最新算法12--最短路径--弗洛伊德(Floyd)算法教学讲义PPT.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、进入夏天,少不了一个热字当头,电扇空调陆续登场,每逢此时,总会想起那一把蒲扇。蒲扇,是记忆中的农村,夏季经常用的一件物品。 记忆中的故乡,每逢进入夏天,集市上最常见的便是蒲扇、凉席,不论男女老少,个个手持一把,忽闪忽闪个不停,嘴里叨叨着“怎么这么热”,于是三五成群,聚在大树下,或站着,或随即坐在石头上,手持那把扇子,边唠嗑边乘凉。孩子们却在周围跑跑跳跳,热得满头大汗,不时听到“强子,别跑了,快来我给你扇扇”。孩子们才不听这一套,跑个没完,直到累气喘吁吁,这才一跑一踮地围过了,这时母亲总是,好似生气的样子,边扇边训,“你看热的,跑什么?”此时这把蒲扇,是那么凉快,那么的温馨幸福
2、,有母亲的味道! 蒲扇是中国传统工艺品,在我国已有三千年多年的历史。取材于棕榈树,制作简单,方便携带,且蒲扇的表面光滑,因而,古人常会在上面作画。古有棕扇、葵扇、蒲扇、蕉扇诸名,实即今日的蒲扇,江浙称之为芭蕉扇。六七十年代,人们最常用的就是这种,似圆非圆,轻巧又便宜的蒲扇。 蒲扇流传至今,我的记忆中,它跨越了半个世纪,也走过了我们的半个人生的轨迹,携带着特有的念想,一年年,一天天,流向长长的时间隧道,袅算法12--最短路径--弗洛伊德(Floyd)算法2求最短路径步骤初始时设置一个n阶方阵,令其对角线元素为0,若存在弧,则对应元素为权值;否则为逐步试着在原直
3、接路径中增加中间顶点,若加入中间点后路径变短,则修改之;否则,维持原值所有顶点试探完毕,算法结束3.Floyd算法思想:逐个顶点试探法从图的带权邻接矩阵G.arcs出发,假设求顶点Vi到Vj的最短路径。如果从Vi到Vj有弧,则从Vi到Vj存在一条长度为G.arcs[i][j]的路径,但该路径是否一定是最短路径,还需要进行n次试探。1.第一次,判别(Vi,V0)和(V0,Vj),即判别(Vi,V0,Vj)是否存在,若存在,则比较(Vi,Vj)和(Vi,V0,Vj)的长度,取长度较短的为从Vi到Vj的中间顶点序号不大于0的最短路径。V2V3V0V112345689以D(1)为基础,
4、以V2为中间顶点,求从Vi,到Vj的最短路径。或者为从Vi到Vj的边,或者为从Vi开始通过V0,V1,V2到达Vj的最短路径。D(2)[i][j]=min{D(1)[i][j],D(1)[i][2]+D(1)[2][j]}0123012301240092350801608888A(-1)=47A(0)=1036D(1)=D(2)=12910V0V1V20123012301240092350801608888A(-1)=47A(0)=1036A(1)=D(2)=12910D(3)=V2V3V0V112345689以D(2)为基础,以V3为中间顶点,求从Vi,到Vj的最短路径。或者
5、为从Vi到Vj的边,或者为从Vi开始通过V0,V1,V2,V3到达Vj的最短路径。D(3)[i][j]=min{D(2)[i][j],D(2)[i][3]+D(2)[3][j]}9118V3V2V0V1D(3)[i][j]即为从Vi到Vj的最短路径长度.9ACB264311041160230初始:路径:ABACBABCCA046602370加入B:路径:ABABCBABCCACAB0411602370加入A:路径:ABACBABCCACAB046502370加入C:路径:ABABCBCABCCACAB例题:10例ACB264311初始:041160230length=011
6、202300path=加入A:0411602370length=011202310path=加入B:046602370length=012202310path=加入C:046502370length=012302310path=114.论点:A(-1)[i][j]是从顶点vi到vj,中间顶点是v1的最短路径的长度,A(k)[i][j]是从顶点vi到vj,中间顶点的序号不大于k的最短路径的长度,A(n-1)[i][j]是从顶点vi到vj的最短路径长度。证明:归纳证明,始归纳于s(上角标);(1)归纳基础:当s=-1时,A(-1)[i][j]=Edge[i][j],vi到vj,不经
7、过任何顶点的边,是最短路径。(2)归纳假设:当s