- 1、本文档共126页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
7.7回溯法回溯法是一种优选搜索方法。它按设置的优选条件向前搜索,以达到目标。若搜索到某一步时,发现当前选择并不优或达不到目标,就“退回一步”——回溯重新选择。这种走不通就退回再走的技术就是回溯法。而满足回溯条件的某个状态称为“回溯点”。用它可以系统地搜索一个问题的所有解或任一解。因为搜索试探过程是由计算机完成的,所以对于搜索试探要避免重复和循环,即要对搜索过的点做标记。【程序7.15】老鼠走迷宫问题。分析:假设迷宫情况已经存入maze[m][n]中,若(i,j)位置上可以通过,则值为0,否则为1,如图7.7所示。对于迷宫中的每个点,按东、南、西、北顺序用试探法钻迷宫。图7.7迷宫问题#definem5#definen6intsf=0;intmaze[m][n]={{0,0,0,1,0,0},{0,1,0,0,0,0},{0,1,1,1,1,0},{0,0,0,0,0,1},{1,0,1,1,0,0}};voidsearch(intx,inty){maze[x][y]=2;if((x==m-1)(y==n-1))sf=1;else{if((sf!=1)(y!=n-1)maze[x][y+1]==0) search(x,y+1);if((sf!=1)(x!=m-1)maze[x+1][y]==0) search(x+1,y);if((sf!=1)(y!=0)maze[x][y-1]==0) search(x,y-1);if((sf!=1)(x!=0)(maze[x-1][y]==0) search(x-1,y);if(sf!=1) maze[x][y]=1;/*回溯,标记该点为1,避免下次再走到这儿*/}}main(){inti,j;clrscr();search(0,0);for(i=0;im;i++){printf(\n);for(j=0;jn;j++)printf(%d,maze[i][j]);}} 程序执行结果如下:2 1 1 1 1 12 1 1 1 1 12 1 1 1 1 12 2 2 2 2 11 0 1 1 2 2可以看出,最后将屏幕上所有值为2的点连接起来,就是老鼠走迷宫的路线。【程序7.16】八皇后问题是一个古老而著名的问题,该问题是著名的数学家高斯1850年提出的:在8?×?8格的国际象棋盘上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法?#includestdio.h#includeconio.hintcrosscheck(int,int); /*检查对角线是否有冲突*/intverticalcheck(int,int); /*检查4个方向是否有冲突*/intsafe(int,int); /*安全性检查*/voidprint(int[][8]); /*打印*/voidtryrow(int); /*排列8个皇后*/staticintq[8][8];staticcnt=0; /*记录解的个数*/voidmain(){inti,j;for(i=0;i=7;i++)for(j=0;j=7;j++)q[i][j]=0;tryrow(0); /*从第0行开始*/}intcrosscheck(intx,inty){inti,j;i=x;j=y;while((i0)(j0)){i-=1;j-=1;if(q[i][j])return0;}i=x;j=y;while((i7)(j0)){i+=1;j-=1;if(q[i][j])
您可能关注的文档
- 《机械制图》课件1第4章.ppt
- 《公共管理研究方法教程》课件第三章PPT.ppt
- 《机械制图》课件1第5章.ppt
- 《高频电子线路》课件1第9章.ppt
- 2025年贵州农业职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州城市职业学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年贵州城市职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025年贵州城市职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州工业职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州城市职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州工业职业技术学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年西昌民族幼儿师范高等专科学校高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年西藏警官高等专科学校高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年贵州工商职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 2025年贵州工商职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 2025年贵州农业职业学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招高职单招英语2016-2024历年频考点试题含答案解析.docx
- 2025年贵州工商职业学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025年许昌职业技术学院高职单招数学历年(2016-2024)频考点试题含答案解析.docx
- 2025年许昌职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
文档评论(0)