基于VB和MapInfo的最短路径算法实现

算法核心

该程序利用VB和MapInfo实现了经典的最短路径搜索算法。核心步骤如下:

  1. 初始化: 将所有节点的距离设置为无穷大,并将起点加入待检查节点列表。
  2. 迭代搜索:
    • 从待检查节点列表中选择距离起点最短的节点。
    • 遍历该节点的相邻节点,计算起点到相邻节点的距离,如果比当前记录的距离更短,则更新距离并将其加入待检查节点列表。
    • 将该节点标记为已检查。
  3. 重复步骤2,直到找到终点或待检查节点列表为空。

数据结构

程序使用了多个数组来存储节点和路径信息:

  • NoNode: 存储节点编码。
  • LinkNi: 存储与每个节点相连的线段数量。
  • LinkNo: 存储与每个节点相连的线段端点顺序编号。
  • LinkDis: 存储与每个节点相连的线段距离。
  • NodeShortPath: 存储最短路径上的节点序号。

程序流程

  1. 输入起点和终点的编码。
  2. 根据编码找到对应的节点序号。
  3. 初始化数据结构。
  4. 执行最短路径搜索算法。
  5. 输出最短路径的节点序号和总距离。
rar 文件大小:176.31KB