我使用哈希表而不是邻接矩阵制作了一个图。用我的设置方式来实现最短路径算法非常困难。
我尝试遍历起始节点的边缘,然后选择最短路径,然后在更新其上一个版本时检查其所有子级。然后,我在最短路径节点上递归调用该函数,如果路径较短,则更新其prev并扫描其子级。似乎没有任何作用。
我想知道是否只需要使用矢量进行设置。我想这样做,因为它可以节省内存。
////这是我一直在努力的工作
//打印输出(所有这些都是边的成本)
I |连接的节点
0 | -> 1(9),-> 2(10),-> 3(4),->空
1 | -> 0(9),-> 4(7),-> 5(20),->空
2 | -> 0(10),-> 6(3),-> NULL
3 | -> 0(4),-> 7(1),-> NULL
4 | -> 1(7),-> 7(8),-> NULL
5 | -> 1(20),-> 7(8),->空
6 | -> 2(3),-> 7(99),-> NULL
7 | -> 3(1),-> 4(8),-> 5(8),-> 6(99),-> NULL