Dijkstra算法模拟讲解
dijkstra算法,是一个求单源最短路径算法
其算法的特点为:
层层逼进,有点类似宽度搜索的感觉
其需要的数据结构为:具体实现如下:
测试数据为:5711 2 101 4 301 5 1002 3 503 5 104 3 204 5 60原始数据为:0 268435455 268435455 268435455 268435455 268435455 268435455 0 10 268435455 30 100 268435455 268435455 0 50 268435455 268435455 268435455 268435455 268435455 0 268435455 10 268435455 268435455 268435455 20 0 60 268435455 268435455 268435455 268435455 268435455 0 0 0 1 4 1 3 从节点1到其他节点的最短距离为:1--1距离为:0路径为: 11--2距离为:10路径为: 1->21--3距离为:50路径为: 1->4->31--4距离为:30路径为: 1->41--5距离为:60路径为: 1->4->3->5=====================================5751 2 101 4 301 5 1002 3 503 5 104 3 204 5 60原始数据为:0 268435455 268435455 268435455 268435455 268435455 268435455 0 10 268435455 30 100 268435455 268435455 0 50 268435455 268435455 268435455 268435455 268435455 0 268435455 10 268435455 268435455 268435455 20 0 60 268435455 268435455 268435455 268435455 268435455 0 0 0 0 0 0 0 从节点5到其他节点的最短距离为:5--1距离为:268435455没有路径5--2距离为:268435455没有路径5--3距离为:268435455没有路径5--4距离为:268435455没有路径5--5距离为:0路径为: 5=====================================原始数据为:0 268435455 268435455 268435455 268435455 268435455 268435455 0 40 10 268435455 268435455 268435455 268435455 0 10 30 50 268435455 268435455 80 0 20 40 268435455 268435455 268435455 268435455 0 10 268435455 268435455 268435455 268435455 268435455 0 0 0 0 2 2 4 从节点2到其他节点的最短距离为:2--1距离为:268435455没有路径2--2距离为:0路径为: 22--3距离为:10路径为: 2->32--4距离为:30路径为: 2->42--5距离为:40路径为: 2->4->5