
1、[问题分析]对于一个含有n个顶点和e条边的图来说,从某一个顶点Vi到其余任一顶点Vj的最短路径,可能是它们
互联网 2023-02-24 18:14:35
1、[问题分析] 对于一个含有n个顶点和e条边的图来说,从某一个顶点Vi到其余任一顶点Vj的最短路径,可能是它们之间的边(Vi,Vj),也可能是经过k个中间顶点和k+1条边所形成的路径(1≤k≤n-2)。
(相关资料图)
2、下面给出解决这个问题的Dijkstra算法思想。
3、 设图G用邻接矩阵的方式存储在GA中,GA[i,j]=maxint表示Vi,Vj是不关联的,否则为权值(大于0的实数)。
4、设集合S用来保存已求得最短路径的终点序号,初始时S=[Vi]表示只有源点,以后每求出一个终点Vj,就把它加入到集合中并作为新考虑的中间顶点。
5、设数组dist[1..n]用来存储当前求得的最短路径,初始时Vi,Vj如果是关联的,则dist[j]等于权值,否则等于maxint,以后随着新考虑的中间顶点越来越多,dist[j]可能越来越小。
6、再设一个与dist对应的数组path[1..n]用来存放当前最短路径的边,初始时为Vi到Vj的边,如果不存在边则为空。
7、 执行时,先从S以外的顶点(即待求出最短路径的终点)所对应的dist数组元素中,找出其值最小的元素(假设为dist[m]),该元素值就是从源点Vi到终点Vm的最短路径长度,对应的path[m]中的顶点或边的序列即为最短路径。
8、接着把Vm并入集合S中,然后以Vm作为新考虑的中间顶点,对S以外的每个顶点Vj,比较dist[m]+GA[m,j]的dist[j]的大小,若前者小,表明加入了新的中间顶点后可以得到更好的方案,即可求得更短的路径,则用它代替dist[j],同时把Vj或边(Vm,Vj)并入到path[j]中。
9、重复以上过程n-2次,即可在dist数组中得到从源点到其余各终点的最段路径长度,对应的path数组中保存着相应的最段路径。
10、 下面给出具体的Dijkstra算法框架(注:为了实现上的方便,用一个一维数组s[1..n]代替集合S,用来保存已求得最短路径的终点集合,即如果s[j]=0表示顶点Vj不在集合中,反之,s[j]=1表示顶点Vj已在集合中)。
11、 Procedure Dijkstra(GA,dist,path,i); {表示求Vi到图G中其余顶点的最短路径,GA为图G的邻接矩阵,dist和path为变量型参数, 其中path的基类型为集合} Begin For j:=1 To n Do Begin {初始化} If j<>i Then s[j]:=0 Else s[j]:=1; dist[j]:=GA[i,j]; If dist[j]
12、首先来分析Dijkstra的算法思想设图G用邻接矩阵的方式存储在GA中,GA[I,j]=maxint表示vi,vj是不关联的,否则为权值(大于0的实数)。
13、设集合S用来存储保存已求得最短路径的终点序号,初始时S=[vi]表示只有源点,以后每求出一个终点vj,就把它加入到集合中并作为新考虑的中间顶点。
14、设数组dist[1..n]用来存储当前求得的最短路径,初始时vi,vj如果是关联的,则dist[j]等于权值,否则等于maxint,以后随着新考虑的中间顶点越来越多,dist[j]可能越来越小。
15、再设一个与dist对应的数组path[1..n]用来存放当前最短路径的边,初始时vi到vj的边,如果不存在边则为空。
16、执行时,先从S以外的顶点(即待求出最短路径的终点)所对应的dist数组元素中,找出其值最小的元素(假设为dist[m]),该元素值就是从源点vi到终点vm的最短路径长度,对应的path[m]中的顶点或边的序列即为最短路径。
17、接着把vm并入集合S中,然后以vm作为新考虑的中间顶点,对S以外的每个顶点vj,比较dist[m]+GA[i,j]与dist[j]的大小,若前者小,表明加入了新的中间顶点后可以得到更好的方案,即可求得更短的路径,则用它代替dist[j],同时把vj或边(vm,vj)并入到path[j]中。
18、重复以上过程n-2次,即可在dist数组中得到从源点到其余个终点的最短路径长度,对应的path数组中保存着相应的最短路径。
19、为了实现上的方便,用一个一维数组s[1..n]代替集合s,用来保存已求得最短路径的终点集合,即如果s[j]=0表示顶点vj不在集合中,反之,s[j]表示顶点vj已在集合中)。
20、Procedure dijkstra (GA,dist path,I) begin for j:= 1 to n do begin if j<>I then s[j]:=0;{j不在集合中} else s[j]:=1;{j在集合中}; dist[j]:=GA[I,J];IF dist [j]
相信通过dijkstra算法这篇文章能帮到你,在和好朋友分享的时候,也欢迎感兴趣小伙伴们一起来探讨。
1、[问题分析]对于一个含有n个顶点和e条边的图来说,从某一个顶点Vi到其余任一顶点Vj的最短路径,可能是它们
【来源:南昌市市监局_美丽南昌】为进一步减轻市场主体负担、降低制度性交易成本、强化信用监管,为全县优化营商环境提供助力,今年以来,进贤县
珠海港(000507)02月24日在投资者关系平台上答复了投资者关心的问题。
1、歌曲《告诉我你不爱我》选自周传雄专辑《心出发》,由厉曼婷作词,周传雄(小刚)作曲。2、1995年科艺百代EMI种子出
欢迎回来。专栏中的水牌如无特别说明均为本人作品,所有水牌都有实物图可查,绝无杜撰,前排鸣谢@GMSRDF5-1438@张卿凌@苏晚落-@彼岸星光biana
光明日报北京2月23日电(记者晋浩天)北京大学心理与认知科学学院、麦戈文脑研究所及北大-清华生命科学联合中心研究员朱露莎
2月23日页岩气板块较上一交易日上涨0 09%,*ST吉艾领涨。当日上证指数报收于3287 48,下跌0 11%。深证成指报收于11884 31,下跌0 13%。页岩气
在《惊天大贼王》、《追龙2》,包括内地电视剧《插翅难逃》中,主角其实都有一个共同原型,那就是张子强。张子强闹得动静,自不必说,一度让港
你需要的东西保护眼睛T25订书钉(3 8英寸至9 16英寸),或T20订书钉(5 16英寸至9 16英寸
三年前,突如其来的世纪疫情改变了你我的生活。三年来,每个人都留下了刻骨铭心的回忆,经历过前所未有的挑战。我们回访了七位三年前出现在我
截至2023年2月23日收盘,天华超净(300390)报收于57 81元,上涨1 14%,换手率1 66%,成交量7 11万手,成交额4 11亿元。
经过重新设计的2020年福特Escape跨界车的价格至少为26,080美元,包括强制性目的地费用,将于今年秋天晚些时候上
1、wps在生活中使用的情况还是很多的,现在很多办公室也在使用。这个软件包括wps文本、wps表单和wps演示。2、除了
本文目录一览1,求LOL龙女打野功略2,英雄联盟龙女打野有什么技巧3,英雄联盟龙女主学什么技能4,lol新版龙女技能加点S7龙女打野怎么玩5,英雄
检修“电子眼”---近日,在襄城区檀溪路,工人正在检修“电子眼”。据了解,为扎实做好道路交通事故预防“减量控大”(削减交通事故总量及控制