码迷,mamicode.com
首页 >  
搜索关键字:深度优先 广度优先    ( 1990个结果
专题一 简单搜索
本专题主要锻炼搜索的两大方法——bfs (广度优先搜索)和 dfs (深度优先搜索)======================华丽的分割线=============================一、bfs——广度优先搜索 bfs主要运用于搜索中求最短时间的问题,搜索过程中一般需要运用 ...
分类:其他好文   时间:2015-06-09 23:37:38    阅读次数:176
Saving James Bond - Easy Version (25)
这道题我们可以采用广度优先搜索的办法,在我看来实现起来要比深搜更好一些核心算法写为了bfs()函数 = =#include #include using namespace std;typedef struct{ int x; int y;}location;int n, dis;loc...
分类:其他好文   时间:2015-06-09 23:29:50    阅读次数:118
人工智能搜索算法(深度优先、迭代加深、一致代价、A*搜索)
搜索算法问题求解 一、需求分析 分别用深度优先、迭代加深、一致代价、A*搜索算法得到从起始点Arad到目标点Bucharest的一条路径,即为罗马尼亚问题的一个解,在求解的过程中记录每种算法得到的解,即输出每种解得到的条路径。   图一:罗马尼亚地图  二、详细代码 测试类: /**Main类,打印各个算法的结果 * @author dyl * */classMain{...
分类:编程语言   时间:2015-06-07 12:38:04    阅读次数:155
c语言 深度优先 DFS
1 #include 2 /* 3 输入一个数n,输出1~n的全排列,有多少种不同的排列? 4 //暴力枚举当然可以,写判断累死.for循环嵌套起来也是累. 5 6 这里运用的是depth first search,DFS 深度优先搜索的思想 7 装作n对应的是n张扑克牌,将其放入n个盒子里有...
分类:编程语言   时间:2015-06-06 01:36:54    阅读次数:143
List Leaves (25)
要按从上到下,从左到右的顺序查找叶子节点,可以采用广度优先搜索的办法#include #include using namespace std;typedef struct{ int loc; int left; int right;}unit;int n;unit* a;int ...
分类:其他好文   时间:2015-06-05 22:35:23    阅读次数:180
GraphMatrix::DFS深度优先搜索
template //深度优先搜索DFS算法(全图) void Graph::dfs(int s) { //assert: 0 <= s < n reset(); int clock = 0; int v = s; //初始化 do //逐一检查所有顶点 if (UNDISCOVERED == status...
分类:其他好文   时间:2015-06-05 17:42:20    阅读次数:142
GraphMatrix::BFS广度优先搜索
查找某一结点的邻居: virtual int firstNbr(int i) { return nextNbr(i, n); } //首个邻接顶点 virtual int nextNbr(int i, int j) //相对于顶点j的下一邻接顶点 { while ((-1 < j) && (!exists(i, --j))); return j; } //逆向线性试探(改用邻接表可提...
分类:其他好文   时间:2015-06-05 14:06:02    阅读次数:170
最小生成树之Kruskal算法和Prim算法
根据图的深度优先遍历和广度优先遍历,可以用最少的边连接所有的顶点,而且不会形成回路。这种连接所有顶点并且路径唯一的树型结构称为生成树或扩展树。实际中,希望产生的生成树的所有边的权值和最小,称之为最小生成树。 常见的最小生成树算法有Kruskal算法和Prim算法。 Kruskal算法每次选取权值最小的边。然后检查是否加入后形成回路,如果形成回路则需要放弃。最终构成最小生成树。n个顶点的图最小生...
分类:编程语言   时间:2015-06-04 17:10:21    阅读次数:151
各种图的创建以及广度,深度优先遍历(临接矩阵存储)
#include #include #include #include #define INFINTY INT_MAX //最大值 #define MaxVertexNum 100 //最大顶点数 using namespace std; typedef enum{DG,UDG,DN,UDN} GraphKind; //图的种类(有向图,无向图,又向网,无向网) ...
分类:其他好文   时间:2015-06-04 15:54:10    阅读次数:150
哈希,最短路径,堆,排序,动态规划
一 最短路径最短路径分为单源最短路径和任意两点的最短路径,前者用Dijkstra算法,后者用floyed算法。Dijkstra算法是一种广度优先算法,以起始点层层往外扩展,直至到终点为止。其把顶点分为两个集合: 1. 已经求出最短路径的节点集合 S 2. 未确定最短路径的顶点集合U通过逐渐把U中.....
分类:编程语言   时间:2015-06-04 11:43:44    阅读次数:163
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!