算法笔记
LanQiLi
这个作者很懒,什么都没留下…
展开
-
问题 A: 算法7-15:迪杰斯特拉最短路径算法
题目描述 在带权有向图G中,给定一个源点v,求从v到G中的其余各顶点的最短路径问题,叫做单源点的最短路径问题。 在常用的单源点最短路径算法中,迪杰斯特拉算法是最为常用的一种,是一种按照路径长度递增的次序产生最短路径的算法。 可将迪杰斯特拉算法描述如下: 在本题中,读入一个有向图的带权邻接矩阵(即数组表示),建立有向图并按照以上描述中的算法求出源点至每一个其它顶点的最短路径长度。 输入...原创 2018-07-28 20:19:43 · 559 阅读 · 0 评论 -
问题 B: 算法7-16:弗洛伊德最短路径算法
题目描述 在带权有向图G中,求G中的任意一对顶点间的最短路径问题,也是十分常见的一种问题。 解决这个问题的一个方法是执行n次迪杰斯特拉算法,这样就可以求出每一对顶点间的最短路径,执行的时间复杂度为O(n3)。 而另一种算法是由弗洛伊德提出的,时间复杂度同样是O(n3),但算法的形式简单很多。 可以将弗洛伊德算法描述如下: 在本题中,读入一个有向图的带权邻接矩阵(即数组表示),建立有向...原创 2018-07-28 22:39:23 · 496 阅读 · 0 评论 -
BFS之迷宫
给定一个n*m大小的迷宫,其中*代表不可通过的墙壁,而‘.代表平地,S表示起点,T表示终点。移动过程中,如果当前位置是(x,y)(下标从0开始),且每次只能前往上下左右四个位置的平地,求从起点S到达终点T的最少步数。 样例: ..... .*.*. .*S*. .***. ...T* 在上面样例中,S的坐标为(2,2),T的坐标为(4,3)。 #include<cstdio...原创 2018-07-21 23:48:12 · 276 阅读 · 0 评论