《Floyd算法及其软件实现课件.ppt》由会员分享,可在线阅读,更多相关《Floyd算法及其软件实现课件.ppt(25页珍藏版)》请在三一办公上搜索。
1、任意两点间的最短路问题,Floyd算法使用范围:求每对顶点的最短路径;有向图、无向图和混合图;算法思想:直接在图的带权邻接矩阵中用插入顶点的方法依次递推地构造出n个矩阵D(1),D(2),D(v),D(v)是图的距离矩阵,同时引入一个后继点矩阵记录两点间的最短路径.输入参数:G的带权邻接矩阵W.算法输出:距离矩阵D以及路由矩阵R.,1,(I)求距离矩阵的方法.,2,(II)求路径矩阵的方法.,在建立距离矩阵的同时可建立路径矩阵R,(III)查找最短路路径的方法.,然后用同样的方法再分头查找若:,(IV)Floyd算法:求任意两顶点间的最短路.,例3:求下图中加权图的任意两点间的距离与路径.,6
2、,插入点 v1,得:,矩阵中带“=”的项为经迭代比较以后有变化的元素.,7,插入点 v2,得:,矩阵中带“=”的项为经迭代比较以后有变化的元素.,8,插入点 v3,得:,插入点 v4,得:,插入点 v5,得:,10,插入点 v6,得:,11,故从v5到v2的最短路为8,由v6向v5追溯:,由v6向v2追溯:,所以从到的最短路径为:,12,选址问题,1、中心问题所谓中心选址问题就是在一网络中选择一点,建立公用服务设施,为该网络中的点提供服务,使得服务效率最高。比如一个区域的消防站、自来水厂、学校、变电站、银行、商店等选址。为了提高服务效率,自然的想法是将这些设施建立在中心地点。要求网络中最远的被
3、服务点离服务设施的距离尽可能小。,13,设网络N有个n点v1,v2,vn。dij表示点vi到vj之间的距离(即最短路的长度),并记dii=0(i=1,2,n)。定义1:记,。若,则称点vk为网络N的中心,I为直径。定义2:令,若,则称vk为网络N的中心。,14,例1某城市要建立一个消防站,为该市所属的七个区服务,如图所示问应设在哪个区,才能使它至最远区的路径最 短。,15,S(v1)=10,S(v2)=7,S(v3)=6,S(v4)=8.5,S(v5)=7,S(v6)=7,S(v7)=8.5,S(v3)=6,故应将消防站设在v3处.,16,例2 教育部门打算在某新建城区建一所学校,让附近七个居
4、民区的学生就近入学。七个居民区之间的道路如下图所示,学校应建在哪个居民区,才能使大家都方便?(图中距离单位:百米)。,17,18,19,2、重心问题,20,例3 例2中,七个居民区的学生人数分别为:40、25、45、30、20、35、50人,学校应建在哪个居民区,才能使大家都方便?(图中距离单位:百米)。,21,22,简易公路建设方案某合同战术训练基地为保障即将进行的联合军事演习,准备在原有的1个油库的基础上,再设立7个固定的燃料补给点。,练习,23,v1,v7,v6,v2,v8,v5,v3,v4,油库与补给点的位置如图所示,其中油库位于v1点,补给点位于v2,v8点。,24,经过前期的测绘工作,如果在油库和补给点之间修建简易公路,由于地形不同,每段公路花费如图,每单位费用为1万元。请根据测绘结果,规划一个总造价最低的建设方案。,总造价最低,各补给点到油库的花费均达到最小,?,25,