永发信息网

用vb.netl编写的floyd算法求两点间的最短路径,怎么输出path经过的顶点序列?

答案:2  悬赏:0  手机版
解决时间 2021-03-08 16:58
用vb.netl编写的floyd算法求两点间的最短路径,怎么输出path经过的顶点序列?
最佳答案
Function Min(x() as integer,y() as integer) as doubledim i,j,k,a dim m() as doubledim s() as stringdim mins as stringredim m(ubound(x),ubound(x))redim s(ubound(x),ubound(x))for i=1 to ubound(x)-1 '从起始点0点到i点的距离m(i,0)=((x(i)-x(0))^2+(y(i)-y(0))^2)^0.5s(i,0)=0- & cstr(i)next'从起始点开始经过K个点后到达i点的最短距离m(i,k),s为各点的连线如0-3-2-1-4for k=1 to ubound(x)-2for i=1 to ubound(x)-1m(i,k)=10^307for j=1 to ubound(x)-1if instr(s(j,k-1),cstr(i))=0 then'避免重复走一点a=((x(i)-x(j))^2+(y(i)-y(j))^2)^0.5if a+m(j,k-1)<m(i,k) thenm(i,k)=a+m(j,k-1)s(i,k)=s(j,k-1) & - & cstr(i)endifend ifnext nextnext'计算经过各点后到达最后一个点的最短距离min=10^307for j=1 to ubound(x)-1a=((x(ubound(x))-x(j))^2+(y(ubound(x))-y(j))^2)^0.5if a+m(j,ubound(x)-2)<min thenmin=a+m(j,ubound(x)-2)mins=s(j,ubound(x)-2) & - & cstr(ubound(x))end ifnextmsgbox 最短距离: & min & vbcrlf & 最短路径: & minsEnd functionprivate sub Command1_Clickdim x(5) as integerdim y(5) as integerdim m as doublex(0)=0y(0)=0x(1)=40y(1)=600.x(5)=1000y(5)=1000m=min(x,y)End sub
全部回答
你的回答很对
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
王俊凯和7月28号有什么渊源吗?
如何保存打印机墨盒
excel表中一个表格里的字如何上下排列
莫斯利安还有七天到期还可以喝吗
威曼达是什么
电视剧,最好韩剧,有比较霸道的男主,类似继
两里堂怎么去啊,有知道地址的么
在哪里可以做阉割?
罗次鼓风机油加多了3公分对风机有什么不好
2015凯立德最新3d怎么瘦身
lovely time是什么意思
【火化机】平板式火化机完成遗体火化后骨灰保
手机电源键坏了,完全按不了,修理要多少钱
(x+60)x11/6=9/4x+60
显示器为什么没写静态对比度?没写静态对比度
推荐资讯
湖北武汉到深圳黄田有多远
一个朋友问,你觉得在我心中,你是什么地位
彩虹岛最便宜的宠物多少钱?
从广东省汕头市自驾轿车去云南省昆明市需要多
该患者骨质疏松症的分型A.Ⅰ型:绝经后骨质疏
小王要用100g质量分数为10%的氢氧化钠溶液来
哪个品牌的蓝牙音箱低音比较好的呢?
现有8根同1cm长的小木棒,用这些木棒的一些搭
江苏省高速货车施救费是怎么收取的?
华为荣耀7i怎么玩微信运动 为什么步数为0
决定CCD成像质量的因素有哪些?
根据下面光合作用图解,判断下列说法不正确的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?