Dijkstra算法(迪杰斯特拉算法)

目的

找出图中所有结点与某一结点最短路径

步骤

——前提条件:“图”结构已经建好,将所有结点与初始结点距离存入数组a备用

  1. 找到初始顶点
  2. 找到一个与初始顶点距离最小的顶点V(通过数组a判断)
  3. 找到V顶点后,遍历V周围顶点
  4. 更新V周围顶点与初始顶点之间的距离
    若:初始顶点V顶点的距离 + V顶点某个V周围顶点距离 < 原本存的此周围顶点初始顶点的距离
    则:更新那个周围顶点初始顶点的距离。
  5. 重复第三步!

实现

步骤 内容 如何实现
1 找到初始顶点 将初始顶点的前驱赋值为自己
2 遍历顶点,找到一个与初始结点距离最小的顶点V 1.用循环,循环所有顶点,最后得输出距离最小顶点
3 找到V顶点后,遍历V周围顶点,更新V周围顶点与初始顶点之间的距离 1.用循环,循环所有顶点
2.每次循环都对距离数组a更新一次
4 回到第三步 这是一个大循环(也是主循环),循环除了初始顶点之外的顶点
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容