![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自我每日学习
努力学java的小照
路漫漫其修远兮,吾将上下而求索。
展开
-
Dijlstra算法
Dijlstra算法 理解上:这个算法就是在dis里面找到最小值,那个最小值一定是确定值,再让它进行拓展,类似于五行算法。 理解上的难点:为什么这个最小值可以认为是确定值,因为比如1-2最小,其余的点,你想找到小于1-2的路径不可能,因为一定会有一个 1-n +n -2所以一定大于1 -2,而将最小点进行拓展后,我们可以认定1和那个最小点为一个整体,所以重复上诉过程,可以得到每一个最小点为确定值。 int n; int book[100]; int a[100][100];原创 2022-02-15 22:57:41 · 257 阅读 · 0 评论 -
Floyd-warshall五行算法
理解: 可以将每一个数,每一个站当作一个中转站,整体就是一个三层循环。 先找出任意两点的最短距离,再逐渐增加一个又一个中转站,例如加入了1这个中转站比较任意两点的最短距离与要通过这个中转站的距离是否有缩短,如果有则在二维数组里更新两点的距离,在增加第2个,第三个,第四个。就可以得到任意两点的距离,如果需要获得具体路径可以增加一个结构体struct{a[n];}再定义一个book[][]来记录更新是所增加的中转站。 问题: 1.到这里才明白为什么要把没有权值的两个点之间设为inf=99999999,(原创 2022-02-09 22:37:10 · 361 阅读 · 0 评论 -
深度和广度优先搜索对于图的遍历
自学算法中原创 2022-02-09 21:48:31 · 497 阅读 · 0 评论 -
二维数组的广度优先搜索和深度优先搜索
深度和广度搜索自定义一个起点来找到终点原创 2022-02-09 22:20:19 · 1359 阅读 · 0 评论