A*寻路算法 (2011-02-15 10:53:11)转载▼标签:游戏分类:算法概述虽然掌握了 A* 算法的人认为它容易,但是对于初学者来说, A* 算法还是很复杂的。搜索区域(The Search Area)我们假设某人要从 A 点移动到 B 点,但是这两点之间被一堵墙隔开。如图 1 ,绿色是 ...
分类:
编程语言 时间:
2015-07-15 12:55:33
阅读次数:
487
深度搜索算法,主要是利用递归实现。递归就要有终止条件,否则就会进入死循环。一般深度搜索算法的算法模板是:创建一个大表, data[m][n];int DFS(int i, int j){ max=0;用于返回的数值 if(满足递归条件) { DFS(int a,int b);//再...
分类:
编程语言 时间:
2015-07-15 01:15:43
阅读次数:
182
1. 广度搜索算法一般是定义一个数组保存当前结果,例如data[MAX], 记录步数的数组step[MAX],通过两个变量start,final实现队列的算法。start=0;final=1;while(start!=final){ for(四个方向进行搜索) { temp1; ...
分类:
编程语言 时间:
2015-07-15 01:07:28
阅读次数:
144
《计算机算法设计与分析》(第3版) 王晓东 电子工业出版社递归与分治策略二分搜索算法二路归并排序快速排序动态规划矩阵连乘问题斐波那契数列贪心算法最优装载活动安排问题其它可用贪心算法求解的问题回溯法图的m着色问题素数环问题分支限界法装载问题
分类:
编程语言 时间:
2015-07-12 21:31:26
阅读次数:
183
C++之广度优先搜索算法篇C++之广度优先搜索算法篇 广度优先搜索(又称宽度优先搜索算法)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。 Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统.....
分类:
编程语言 时间:
2015-07-12 10:53:45
阅读次数:
180
图的邻接表表示
对图(有向或无向)G=(为方便记,假定V=1,2,…,n)G=(为方便记,假定V={1, 2, …, n}),其邻接表表示是一个由|V|个链表组成数组,对每个u∈Vu ∈ V,链表Adj[u]称为对应顶点u的邻接表。它包含G中所有与u相邻的顶点。每个邻接表中顶点通常是按任意顺序存放的。
无向图的邻接表表示
有向图的邻接表表示广度...
分类:
编程语言 时间:
2015-07-10 19:13:44
阅读次数:
218
1.问题描述与理解
深度优先搜索(Depth First Search,DFS)所遵循的策略,如同其名称所云,是在图中尽可能“更深”地进行搜索。在深度优先搜索中,对最新发现的顶点v若此顶点尚有未探索过从其出发的边就探索之。当v的所有边都被探索过,搜索“回溯”到从其出发发现顶点v的顶点。此过程继续直至发现所有从源点可达的顶点。若图中还有未发现的顶点,则以其中之一为新的源点重复搜索,直至所有的...
分类:
编程语言 时间:
2015-07-10 19:11:01
阅读次数:
129
操作对象
直接改变容器的内容 将原容器的内容复制一份,修改其副本,然后传回该副本
功能:
非可变序列算法 指不直接修改其所操作的容器内容的算法
计数算法 count、count_if 搜索算法 search、find、find_if、find_first_of、… 比较算法 equal、mismatch、lexicographical...
分类:
编程语言 时间:
2015-07-10 09:30:48
阅读次数:
112
【根搜索算法】这个算法的基本思路是:对任何“活”的对象,一定能最终追溯到其存活在堆栈或静态存储区之中的引用。可以作为根的对象-虚拟机栈(栈桢中的本地变量表)中的引用的对象。-方法区中的类静态属性引用的对象。-方法区中的常量引用的对象。-本地方法栈中JNI的引用的对象。方法区是jvm的一块内存区域,用...
分类:
编程语言 时间:
2015-07-08 22:15:25
阅读次数:
261
搜索的应用比较广泛、从最基本的DFS、BFS到记忆化搜索、再到启发式搜索、最后还要学习DLX才算是一个完结、 曾经想过有没有一种搜索可以贪心的实现、Greedy Search、感觉已经和启发式搜索比较接近了、但是终究还不是、网上看到过这方面的内容、没有继续深入的探究、 由于自身水平有限、只能...
分类:
编程语言 时间:
2015-07-07 08:13:29
阅读次数:
152