Bootstrap

数学建模算法——图论最短路径求解:迪杰斯特拉、贝尔曼福特、弗洛伊德(自用)

简要

- 图为某些事物之间的某种特定关系,点代表事物,两点之间的线是表示两个事物之间的关系,故而其点集和线集组成了图。

- 由是否有方向分为有向图和无向图,其边上可有权值,即为有权图,权重在某些 具体问题中也算为距离等。

- 在做这种图的时候可以使用matlab或者网页在线作图(自用8讲4页)

- 在有向图和无向图的权重邻接矩阵中,Dij 意味着第i个节点到第j个节点的权重,其主对角线上的元素为0,若两个节点之间没有联系或者是在单向联系中,没有联系的在矩阵中用inf即无线表示。

迪杰斯特拉算法(前提为权值为非负数)

- 基于贪婪算法,用于计算初始点到其他节点之间的最短的距离,以起始点为中心向外层层扩散,直至到达终点,在结果的最短路径中,其经过的每一个节点到初始点的距离皆为最短的。

- 将节点集合分为已访问节点和未访问节点,加入是否被访问、初始点到达该点的距离、邻接点(由哪一个点来的)信息,由初始点出发,寻找最短路径至第二个节点,后每次由最短路径的节点出发进一步更新路径至每一个节点,在此过程中,及时更新邻接点,访问状态,以及每一个点到初始点的最短距离

- 由结果可以从邻接点信息推出最短路径,此方法也同样适用雨有向图

贝尔曼福特法

- 贝尔曼‐福特算法不再将节点区分为是否已 访问的状态,因为贝尔曼‐福特模型是利用循环来进 行更新权重的,且每循环一次,贝尔曼福特算法都会 更新所有的节点的信息。

- 但是贝尔曼福特法不支持含有 负权回路的图(弗洛伊德算法也不行)

- 负权回路——存在一个

;