码迷,mamicode.com
首页 >  
搜索关键字:深度优先 广度优先    ( 1990个结果
HDU ACM 1181 变形课
使用深度优先搜索解决,很简单的题。 建立26个字母的邻接矩阵图和访问数组,从字母b开始搜索,若能到达字母m则可以变形。 #include using namespace std; int v[27]; int m[27][27]; bool dfs(int x) { if(x=='m'-'a') //搜到字母m结束 return true; for(int i=0...
分类:其他好文   时间:2015-03-14 20:06:59    阅读次数:190
POJ 3126 Prime Path 广度优先搜索 难度:0
http://poj.org/problem?id=3126搜索的时候注意1:首位不能有02:可以暂时有没有出现在目标数中的数字#include #include #include using namespace std;const int maxn=1e4+5;const int inf=0x7f...
分类:其他好文   时间:2015-03-14 19:49:14    阅读次数:116
部分和问题
0-1部分和问题描述:有n个大小不同的数字a,判断是否能从中取出若干个数,使得这些数的和为k。解决思路:利用DFS(深度优先搜索)来解决,用dfs(i,j)表示前i个数字能否得到部分和j,则根据前i+1个数的能否得到部分和j或j+a[i+1]来判断dfs(i,j)的状态,算法如下:1 bool df...
分类:其他好文   时间:2015-03-14 01:03:03    阅读次数:257
实用数据结构---图的操作和算法
图算法的源代码、包含大量的注释,和最小生成树、最短路径、邻接表图深度广度优先搜索,邻接矩阵图深度广度优先搜索,欢迎借鉴 #include #include #define MAXVEX 20 #define INFINITY 65535 typedef char vertexType; typedef int edgeType; typedef int Boolean; typedef int ...
分类:编程语言   时间:2015-03-12 22:38:07    阅读次数:309
算法碎片知识整理
图:深度优先搜索: public class DFS{ private boolean[] marked; pirvate int count; public DepthFirstSearch(Graph G, int s ){ marked = new boolean[G....
分类:编程语言   时间:2015-03-11 14:33:25    阅读次数:135
回溯算法 和 贪心算法(全排列)
一:简介 (1)回溯法 又称试探法 回溯法的基本做法是深度优先搜索,是一种组织得井井有条的、能避免不必要重复搜索的穷举式搜索算法;基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。 适用场景:当遇到某一类问题时,它的问题可以分解,但是又不能得出明确的动态规划或是递归解法,此时可以考虑用回溯法解决此类问题。回溯法的优点在于其程序结构明确,可读性强,易于理解,而且通过对问题的分...
分类:编程语言   时间:2015-03-08 15:42:56    阅读次数:761
算法系列笔记8(有关图的算法二—最短路径问题)
图的最短路径问题主要分为两类,单源最短路径问题和全对最短路径问题。单源最短路径问题指给点单个源点,求其到所有其它顶点之间的最短距离。而全对最短路径问题指所有顶点之间的最短路劲问题。此外对于单对最短路径问题,从渐进意义上来看,目前还没有比最好的单元算法更快的算法来解决这一问题。 一:单源最短路径问题 单源最短路劲问题根据其权重分为四类,当图G=(V,E)为无权图,直接使用广度优先遍历(这里不做介...
分类:编程语言   时间:2015-03-07 21:19:54    阅读次数:309
算法系列之图--DFS
深度优先搜索使用的策略是,只要与可能就在图中尽量“深入”。DFS总是对最近才发现的结点v出发边进行探索,知道该结点的所有出发边都被发现为止。一旦v的所有出发边都被发现了,搜索就回溯到v的前驱结点(v是经该结点才被发现的),来搜索该前驱结点的出发边。该过程持续知道从源结点可以到达的所有结点都被发现.....
分类:编程语言   时间:2015-03-07 18:21:51    阅读次数:120
算法系列之图--BFS
广度优先搜索以源结点s为出发点,算法始终将已发现和未发现结点之间的边界,沿其广度方向向外扩展。也即算法需要在发现所有距离源结点s为k的所有结点之后才会去发现距离源结点距离为k+1的其他结点。 talk is cheap,show me the code!上具体的代码,最容易解释这一切。 该例...
分类:编程语言   时间:2015-03-07 15:35:31    阅读次数:158
DFS + 剪枝策略
一:简介 (1)相信做过ACM的人,都很熟悉图和树的深度优先搜索;算法里面有蛮力法 —— 就是暴力搜索(不加任何剪枝的搜索); (2)蛮力搜搜需要优化时,就是需要不停的剪枝,提前减少不必要的搜索路径,提前发现判断的过滤条件; (3)剪枝的核心问题就是设计剪枝判断方法,哪些搜索路径应当舍弃,哪些搜索路径不能舍弃(保留); (4)高效的剪枝过滤条件需要从局部和全局来考虑问题,发现内在的规律。 ...
分类:其他好文   时间:2015-03-06 09:39:30    阅读次数:170
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!