A*算法详尽的入门教程
一:为什么我们需要A*算法
求最短路径或者最小代价的算法有很多。其本质就是图的搜索策略。图的直接搜索方法有很多种,比较典型的是广度优先搜索、深度优先搜索。所谓的广度优先搜索是每到达一个节点就优先遍历该节点的所有相邻节点。而对应的深度优先搜索是指一直延伸到从未达到过的节点。基于以上两种基本思想的最短路径算法有Dijkstra算法和Floyd算法。当搜索完毕也遍历了整...
分类:
编程语言 时间:
2014-12-26 18:46:59
阅读次数:
226
题目:地铁换乘
描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的。经过的站点名分别如下,两条线交叉的换乘点用T1、T2表示。编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次)。
地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 ...
分类:
其他好文 时间:
2014-12-26 09:44:58
阅读次数:
225
题目大意:给定一张图,求从1开始到达m的权值至少需要遍历多少条边
n
f[temp][i][j]表示经过2^temp条边从i走到j的最大权值
更新时f[temp[i][j]=max{f[temp-1][i][k]+f[temp-1][k][j]}
然后用矩阵g[i][j]记录当前走的权值,初始主对角线为0,其余为-∞
从大到小枚举temp,利用f[temp]和g得到矩阵h
如果h中1到...
分类:
其他好文 时间:
2014-12-26 09:40:29
阅读次数:
171
Dijkstra算法 假设找出v0到其他顶点的最短路径 s[N]初始化为0,如果找到v0到vn的最短路径则把s[n]置一 dist[N]初始化为v0到其他顶点的直接路径,两个没相连的顶点用MAX值代入 1.从所有未找到最短路径的顶点中找出dist最小的数值的下标u,所以s[u]置位。 2.用v0到v...
分类:
其他好文 时间:
2014-12-26 09:39:41
阅读次数:
195
最近做图的题比较多,除了克鲁斯卡尔和floyd,像广搜,普里姆,Bellman-Ford,迪杰斯特拉,SPFA,拓扑排序等等,都用到图的邻接表形式。数据结构书上表示邻接表比较复杂,一般形式如下: 1 typedef struct Node 2 { 3 int dest; ...
分类:
其他好文 时间:
2014-12-26 00:48:34
阅读次数:
378
单源最短路,复杂度是O(N²),堆优化的是O(NlogN)。基本思想是贪心,每次都加入一个当前最近的点,可以证明每次当时最近的点就是当前最短的路径。因此,所有点都加入之后,起点到所有点的最短路径就都求出来了。 在实现中,需要注意的是,在堆中的某个点i,不只要存当前到i的最短路径长度d[i],还...
分类:
编程语言 时间:
2014-12-24 17:42:19
阅读次数:
229
题目大意:求点1到所有点最短路径的最大值思路:水题,单源最短路,网上解题清一色dijkstra,但是点数小于100显然floyd更简洁嘛#include#include#define maxn 101#define inf 100000using namespace std;int read(){i...
分类:
其他好文 时间:
2014-12-24 01:11:33
阅读次数:
132
很裸的floyd#include#include#include#define maxn 201#define inf 100000using namespace std;int map[maxn][maxn],n,x,y,m;;int main(){ while(1) { scanf("...
分类:
其他好文 时间:
2014-12-23 19:25:20
阅读次数:
172
算法描述: Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。Dijkstra算法能得出最短路径的最优解,但由于它遍历计算的节点很多,所以效率低。 Dijkstra算法是很有代表性的...
分类:
编程语言 时间:
2014-12-23 13:53:46
阅读次数:
224
算法描述: Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。从图的带权邻接矩阵A=[a(i,j)]n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(1)构造出D(2);……;最后又用同样的公式由D(....
分类:
编程语言 时间:
2014-12-23 13:52:38
阅读次数:
262