Java 算法:最短路径问题

最短路径问题适合于有向图与无向图:

Java 算法:最短路径问题_第1张图片

应用:

路径规划:每个顶点就是城市,边就是道路。

工作任务:从一个点起始任务到另一个点任务完成,边就是完成任务的耗费。

例如无权图的广度优先遍历:结果就是求出了一个最短路径。

Java 算法:最短路径问题_第2张图片           Java 算法:最短路径问题_第3张图片

最短路径树(单源最短路径):从一个节点寻找到其他节点的最短路径。

 

无权图的最短路径:

Java 算法:最短路径问题_第4张图片

遍历了1和2路径为长度为1,此时这两个点就是最短路径,所以021就不是最短路径了。

有权图的最短路径:(松弛操作

Java 算法:最短路径问题_第5张图片            Java 算法:最短路径问题_第6张图片

遍历了1和2,不过此时并不能确定5是最短的路径,因为有从0到2再到1的两条边的权值相加比5还小,所以5不是最短路径。

松弛操作是最短路径求解的核心。

你可能感兴趣的:(#,数据结构和算法,大学与Java那些年)