- 23
- 0
- 约5.25万字
- 约 290页
- 2017-05-30 发布于上海
- 举报
acm 搜索
搜索技术 包含的内容 回溯法 回溯+剪枝法 广度搜索 双向广度优先搜索 A,A*算法 渐进深度优先算法 爬山法 分支限界法 遗传算法 与或图与博弈树 模拟退火法 1.回溯法 回溯法概念 回溯法也称试探法. 它的基本思想是:从问题的某一种状态(初始状态)出发,搜索从这种状态出发所能达到的所有“状态”,当一条路走到“尽头”的时候(不能再前进),再后退一步或若干步,从另一种可能“状态”出发,继续搜索,直到所有的“路径”(状态)都试探过。 这种不断“前进”、不断“回溯”寻找解的方法,就称作“回溯法”。 回溯策略回溯搜索的示意 ? 1 A ? ? B 2 8 C 11 D ? ? E 3 F 6 9 G 10 H ? I 4 J 5 7 K 状态空间中回溯搜索 图中虚线箭头的方向表明了搜索的轨迹,结点边的数字表明了被搜索到的次序 ? 回溯法分析 采用递归,算法简单,时间复杂度比较大 采用迭代法,算法设计与题目相关度大,时间复杂度较小。 递归回溯:由于回溯法是对解空间的深度优先搜索,因此在一般情况下可用递归函数来实现回溯法如下: Proc Search(当前状态); begin If 当前状态等于目标状态 then exit; for 对所有可能的新状态 Search(新状态); end Procedure BACKTRACK(n); {k:=l; repeat if TK (x1,x2,...xK-1 )中的值未取遍then { xK:=TK (x1,x2,..., x K-1 )中未取过的一个值; if BK (x1, x2, ..., x K) then //状态结点(x1,...xk)被激活 if k=n then output(x1, x2, ..., xk) //输出一个回答结点 e1se k:=k + l;} //深度优先 e1se k:=k-l; //回溯 until k=0; end;{BACKTRACK} 本课件题库网站 /judgeonline/problemlist 1400题 马的走法 在一个4*5的棋盘上,马的起始位置坐标(纵、横)位置由键盘输入,求马能返回初始位置的所有不同走法的总数。(马的位置不能重复,马走“日”字。) 马的走法分析(1) 由于4*5问题规模小,采用基于递归的回溯法 问题定义: (1)采用二维数组表示棋盘。 (2)马走步表示方法二维数组,{{-1,-2},{-1,2},{-2,1},{-2,-1},{1,2},{1,-2},{2,1},{2,-1}},8个方向。 (3)棋盘的最小坐标,左下角为(1,1) (4)棋盘越界条件 0≤x ≤4, 0≤ y ≤5 (5)走过的棋盘位置应该设置一个标示。 马的走法分析(3) 递归的回溯算法可描述为: procedure search(now:position); {now是当前位置} begin for 马从当前位置now出发走一步到位置next的每一种走法 do begin if next在棋盘内 and next位置没有走过 then if next=出发点 then 不同走法总数加1 else begin 标记next已经走过了; search(next) 取消位置next的标记; end; end; end; #include?iostreamusing?namespace?std;const?int?ROWS?=?4;//行数const?int?COLUMS?=?5;//列数int?chess[ROWS][COLUMS];//棋盘int?numCount?=?0;int?posX,posY;int?direction[2][8]={{-1,-1,-2,-2,2,2,1,1},{-2,2,1,-1,1,-1,2,-2}};//马走日字void?Solve(int?x,int?y){????int?i,j,desX,desY;????for?(i=0;i8;++i)????{????????desX?=?x+direction[0][i];//目标位置x坐标????????desY?=?y+direction[1][i];//目标位置y坐标????????if?(desX=0desX4desY=0desY5chess[desX][desY]==0)?
您可能关注的文档
- 6章 微分方程问题的解法.ppt
- 6章 指数.ppt
- 6章 循环结构程序设计.ppt
- 6章 文件管理.ppt
- 6章 时序逻辑电路的分析与设计.ppt
- 6章 时序逻辑电路 200100504.ppt
- 6章 数组2.ppt
- 6章 时序逻辑电路(五版).ppt
- 6章 力法.ppt
- 6 蛋白质合成1219.ppt
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)