数学建模 图论最短路径问题

1,971 阅读1分钟

概述

画图: 在线作图网站https://csacademy.com/app/graph_editor/

无向图的权重邻接矩阵

有向图的权重邻接矩阵

迪杰斯特拉算法:

流程

算法演示:

...直到所有节点被访问完毕

找0-4最短路径:从4溯回:

缺陷->不能处理负权重情况

一般无向图常见,即使是有向图也可以用,但是不能处理负权重

迪杰斯特拉算法得出最短路径是1-2,并不准确!

Bellman‐Ford(贝尔曼‐福特)算法:可用于负权重情况

☆三个最短路径算法总结

  • 迪杰斯特拉算法可求出两个点之间最短距离路径,不能用于负权重情况,适合有向图和无向图
  • 贝尔曼‐福特算法可求出两个点之间最短距离路径,能用于负权重有向图情况
  • 弗洛伊德算法可以求出整个图任意两点的最短距离路径(复杂度高)
  • 三个算法都不适用与有向图含负权回路/无向图含负权重的情况

☆matlab实操