VB求解最短路径问题,VB坐标为最短路径

发布于 教育 2024-08-09
12个回答
  1. 匿名用户2024-01-31

    function min(x() as integer,y() as integer) as double

    dim i,j,k,a

    dim m() as double

    dim s() as string

    dim mins as string

    redim 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)^

    s(i,0)="0-" & cstr(i)

    下一篇 经过k点后,起点到i点的最短距离为m(i,k),s为连接两点的线,如"0-3-2-1-4"

    for k=1 to ubound(x)-2

    for i=1 to ubound(x)-1

    m(i,k)=10^307

    for j=1 to ubound(x)-1

    if instr(s(j,k-1),cstr(i))=0 then'避免稍微重复走路。

    a=((x(i)-x(j))^2+(y(i)-y(j))^2)^

    if a+m(j,k-1)m(i,k)=a+m(j,k-1)

    s(i,k)=s(j,k-1) &"-" & cstr(i)

    endifend if

    next next

    接下来计算通过每个点后到最后一个点的最短距离。

    min=10^307

    for j=1 to ubound(x)-1

    a=((x(ubound(x))-x(j))^2+(y(ubound(x))-y(j))^2)^

    if a+m(j,ubound(x)-2)min=a+m(j,ubound(x)-2)

    mins=s(j,ubound(x)-2) &"-" & cstr(ubound(x))

    end if

    nextmsgbox "最短距离:" & min & vbcrlf & "最短路径:" & mins

    end function

    private sub command1_click

    dim x(5) as integer

    dim y(5) as integer

    dim m as double

    x(0)=0

    y(0)=0

    x(1)=40

    y(1)=600

    x(5)=1000

    y(5)=1000

    m=min(x,y)

    end sub

  2. 匿名用户2024-01-30

    这是蚂蚁路径。 如果找到长度很简单,只需将它们一个接一个地连接起来形成一条直线即可。 如果点 p,点 q,则距离为:

    sqrt((px - qx) 2 + py - qy) 2)这允许您根据点数设置循环,并将每个循环的新点与前一个循环的末端保持距离,这加起来就是最短路径。

    这是从 2008 年开始的,二次函数似乎被称为 sqr。

  3. 匿名用户2024-01-29

    这类问题一般需要运用智能算法,如遗传算法、蚁群算法等,才能找到最优解。

  4. 匿名用户2024-01-28

    这有点困难,这意味着没有必要按顺序排列这些平面坐标,两个相邻坐标之间的距离应该是最短的。

    例如,0,0 和 1,1 之间的距离是根数 2

    距离 0,0 和 2,2 是根数 8

    如果三个平面坐标为 0,0、1、1、2、2,则最短路径应为 0,0、1、1、2,2,而不是 0,0、2、2、1,1

  5. 匿名用户2024-01-27

    这个有点难! 坐下来等待结果!

  6. 匿名用户2024-01-26

    是路线查找吗?

    你可以要求我去做。

  7. 匿名用户2024-01-25

    你想从源头上得到什么**啊,编程语言这么多,你的问题还不清楚,慢慢解释问题,我们都可以帮到你。

  8. 匿名用户2024-01-24

    什么是a*算法,我只有dijkstra算法的**。

  9. 匿名用户2024-01-23

    这是一个数学问题,它真的与交通或其他任何事情无关。

    你应该看看关于数据结构、图论等的书籍。

    而且,你自建路网的结构是别人不了解的,那它又怎么能帮你实现呢?

  10. 匿名用户2024-01-22

    open ..for ..as ..它用于打开、读取或写入文本文件或二进制文件,数据库读/写方法不是这样的,使用 SQL 语句。 如:

    从多宝乡物料中选择min(path),其中。

  11. 匿名用户2024-01-21

    我不知道怎么说,我只想问,你开始了吗?

  12. 匿名用户2024-01-20

    选择与表名称的距离,其中 origin='"& &"'和 destination='"& &"'"

相关回答
4个回答2024-08-09

'显示当前正在运行的程序 Kirisun 的绝对路径。 >>>More

13个回答2024-08-09

注意斜杠'\'这都是小问题,只要你仔细检查,学会消除问题,自己解决起来就很容易了。 >>>More

5个回答2024-08-09

默认情况下,备份保存在 C 盘上。

随着备份文件的增加,会出现C盘占用空间过多导致系统运行卡慢的问题,因此需要更改默认保存路径,具体步骤如下: >>>More

4个回答2024-08-09

您的文本框可能有问题,建议您再试一次: 我的很好,私有子形式 load() = now true >>>More

15个回答2024-08-09

Sum 仅用于保存 1+2+3+4+5+6+7....100 也可以用其他字母代替(例如 q x y ..) >>>More