第二讲回溯法.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第1页,共27页,星期日,2025年,2月5日关于有哪些信誉好的足球投注网站人类的思维过程既是一个有哪些信誉好的足球投注网站过程。先来看一个智力游戏第2页,共27页,星期日,2025年,2月5日传教士与野人有三个传教士和三个野人渡河,河边有一条船,每次只能乘坐2人,为了传教士的安全,应如何规划渡船方案,使得任何时刻,在河的两岸及船上,传教士的人数不能少于野人数。 第3页,共27页,星期日,2025年,2月5日第4页,共27页,星期日,2025年,2月5日有哪些信誉好的足球投注网站分类第5页,共27页,星期日,2025年,2月5日基本思想回溯法是一种通用性解法,可以将回溯法看作是带优化的穷举法。回溯法的基本思想是在一棵含有问题全部可能解的状态空间树上进行深度优先有哪些信誉好的足球投注网站,解为叶子结点。有哪些信誉好的足球投注网站过程中,每到达一个结点时,则判断该结点为根的子树是否含有问题的解,如果可以确定该子树中不含有问题的解,则放弃对该子树的有哪些信誉好的足球投注网站,退回到上层父结点,继续下一步深度优先有哪些信誉好的足球投注网站过程。在回溯法中,并不是先构造出整棵状态空间树,再进行有哪些信誉好的足球投注网站,而是在有哪些信誉好的足球投注网站过程,逐步构造出状态空间树,即边有哪些信誉好的足球投注网站,边构造。第6页,共27页,星期日,2025年,2月5日第7页,共27页,星期日,2025年,2月5日应用步骤1、确定问题状态结构;2、分析问题状态空间树;3、确定深度有哪些信誉好的足球投注网站与回溯规则;4、确定解状态判别规则;第8页,共27页,星期日,2025年,2月5日二个问题八皇后问题全排列问题第9页,共27页,星期日,2025年,2月5日N皇后问题问题:在一个n×n的棋盘上布置n个王后,使其相互不能攻击,即每行、每列,每斜线都只有一个皇后;问题的状态即棋盘的布局状态,状态空间树的根为空棋盘,每个布局的下一步可能布局为该布局结点的子结点;由于可以预知,在每行中有且只有一个王后,因此为了简化状态空间树,采用逐行布局的方式,即每个布局有n个子结点;第10页,共27页,星期日,2025年,2月5日N后问题回溯过程分析1、从空棋盘起,逐行放置棋子。2、每在一个布局中放下一个棋子,即推演到一个新的布局。3、如果当前行上没有可合法放置棋子的位置,则回溯到上一行,重新布放上一行的棋子。第11页,共27页,星期日,2025年,2月5日N后问题算法描述初始化空棋盘(起始状态);从第一行开始准备放子,直至第一行出现回溯在当前行r中查找下一个可以放置王后的位置如果找到了可以摆放的位置放下一个子如果已经是最后一行得到一个解撤掉该子,继续寻找下一个解否则(未到最后一行)准备处理下一行否则(没有找到可以摆放的位置)回溯到上一行,并撤掉该行的棋子第12页,共27页,星期日,2025年,2月5日第13页,共27页,星期日,2025年,2月5日算法伪码得到求解皇后问题的算法如下:

??{???输入棋盘大小值n;

????m=0;

????good=1;

????do{

??????if(good)

????????if(m==n)

????????{???输出解;

??????????改变之,形成下一个候选解;

????????}

????????else???扩展当前候选接至下一列;

??????else???改变之,形成下一个候选解;

??????good=检查当前候选解的合理性;

????}while(m!=0);

??}第14页,共27页,星期日,2025年,2月5日引入辅助变量一维数组(col[]),值col表示在棋盘第i列、col行有一个皇后。例如:col[3]=4,就表示在棋盘的第3列、第4行上有一个皇后。另外,为了使程序在找完了全部解后回溯到最初位置,设定col[0]的初值为0当回溯到第0列时,说明程序已求得全部解,结束程序运行。数组a[],a[k]表示第k行上还没有皇后;数组b[],b[k]表示第k列右高左低斜线上没有皇后;数组c[],c[k]表示第k列左高右低斜线上没有皇后;第15页,共27页,星期日,2025年,2月5日【程序】

#include???stdio.h

#include???stdlib.h

#define???MAXN???20

intn,m,good;

intcol[MAXN+1],a[MAXN+1],b[2*MAXN+1],c[2*MAXN+1];

voidmain()

{???intj;

??charawn;

??printf(“Entern:???“);???scanf(“%d”,n);

?

文档评论(0)

xiaolan118 + 关注
实名认证
文档贡献者

你好,我好,大家好!

版权声明书
用户编号:7140162041000002

1亿VIP精品文档

相关文档