- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ACM培训第八讲-搜索解读
扩展过程 void expend( ) { /*从OPEN表中选取第一个结点进行扩展*/ int row,col,h; struct node *p,*q; while ((open!=NULL) (succeed==0)) { p=open; open=open-next; p-next=close; close=p; for (int i=0; i3; i++) for (int j=0; j3;j++) if (p-state[i][j]==0) { row=i; col=j; } 扩展过程(续) /*测试向左移,先判断其父状态的生成是否和它相反,以及是否可以向左移 */ if ((p-inherit!=3)(col0)) { q=new struct node; /* 生成新状态*/ q-parent=p; q-depth=p-depth+1; q-next=NULL; q-inherit=1; for (int i=0; i3; i++) for (int j=0; j3;j++) q-state[i][j]=p-state[i][j]; q-state[row][col]=q-state[row][col-1]; q-state[row][col-1]=0; h=heuristic(q); /* 计算评价函数值*/ q-f_value=q-depth+h; if (h==0) {/*与目标状态进行比较*/ succeed=1; goal=q; } else search(q); /*插入到OPEN表中恰当位置*/ }/*向左移*/ 将新节点插入到OPEN表中 void search(struct node *x) { /* 将新扩展结点放入OPEN表中恰当位置, */ struct node *p,*q; if (open==NULL) { open=x; x-next=NULL; return; } if (open-f_valuex-f_value) { x-next=open; open=x; return; } p=open; q=p; 将新节点插入到OPEN表中 while ((p!=NULL) (p-f_value=x-f_value)) { if (p-f_value==x-f_value) { int flag=1; for (int i=0;i8;i++) if (p-state[i]!=x-state[i]) { flag=0; break; } if (flag==1) { delete x; return; } } q=p; p=p-next; } x-next=p; q-next=x; return; } 相关习题 基础题:1010,1241,1242,1312 进阶题:1226,1312,2610,2611 * 4. 一般图搜索算法 一般性图搜索算法: 1: G←S,OPEN←(S); 建立一个搜索图G,它只含有初始节点S, 建立一个OPEN表 (今后它用于存储生成的节点), 开始它只含有初始节点S。 2: CLOSED←( ); 建立一个CLOSED表(今后它用于存储已扩展节点或将要扩展的某个节点), 它的初始状态为空表。 3: LOOP: if OPEN=( ) then return FAIL; 进入循环。 如果OPEN表已空, 说明没有节点可扩展, 就返回FAIL, 即失败。 4: n←FIRST(OPEN), CLOSED←(n, CLOSED); 从OPEN表中取出一个节点n, 将其 放入CLOSED表中。 5: if n∈目标集 then return [s→…→n]; 如果n为目标节点, 则沿着G中从 n到s的链指针得出一条路径, 并以此返回。 4. 一般图搜索算法 一般性图搜索算法(续): 6: M←expand(n), G←G, G←{
您可能关注的文档
最近下载
- 2025最新高级生命支持(ACLS)理论考核试题及答案.docx VIP
- T∕CCSAS 001-2018 危险与可操作性分析质量控制与审查导则.pdf
- 07J912-1变配电所图集.pdf VIP
- 基于PLC控制的小车自动化送料系统设计(毕业论文).doc VIP
- 2025北京海淀高一(下)期末数学试卷含答案.pdf VIP
- 中国社会的不婚现象:现实与潜在影响探讨.docx VIP
- 2025最新高级生命支持(ACLS)理论考核试题和答案.docx
- 5.2《稻》《作酢法》+二则(知识清单)-【中职专用】高二语文(高教版2023拓展模块下册).docx VIP
- 2025年非车险考试题 .pdf VIP
- GB50016-2014 建筑设计防火规范(2018年版).docx
文档评论(0)