Java PriorityQueue实现Dijkastra 思路,解释,及代码
Dijkstra是用于求一个有权的有向或无向图中单源最短路径(一个节点到另一个节点)的算法。简单来说就是给你一个有权图,让你去求其中一个点到另一个点的一条路径的权值之和,并且这条路径的权值之和必须是所有可能的路径中最短的。如下图所示,Disjkstra就可以求点0到点1 2 3 4 5 6的最短路径。值得注意的是,如果是有负权存在,Dijkastra是用不了的。Diskastra实现首先我们需要考虑如何将这个图用代码实现,我这里会使用Edge和Graph类将整个图实现。
原创
2022-10-13 06:41:22 ·
373 阅读 ·
1 评论