- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅谈dfs
信息学竞赛讲座 搜索题例---!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!!-----------
!!!!!!!!----------------------------------精品文档,值得下载,可以编辑!!!-----------------------------!!!!!!
广度优先搜索是分层次搜索,广泛应用于求解问题的最短路径、最少步骤、最优方法等方面。像最短路径问题、分酒问题、八数码问题都是典型的DFS.
例1:最短路径问题
求从任意一个顶点Vi出发,对给出的图,求到达任意顶点Vj(ij)的所有最短路径
[问题分析]
1、首先用邻接表表示此图各端点的邻接关系。
顶点 接邻顶点 个数
1 2 3 4 3
2 1 3 7 3
3 1 2 4 5 4
4 1 3 6 3
5 3 6 7 8 4
6 4 5 8 3
7 2 5 8 3
8 5 6 7 3
2、数据结构
const
d:array[1..8,1..4] of byte=((2,3,4,0),(1,3,7,0),(1,2,4,5),(1,3,6,0),(3,6,7,8),(4,5,8,0),(2,5,8,0),(5,6,7,0))
{二维数组存放邻接表}
n:array[1..8] of byte=(3,3,4,3,4,3,3,3); {存放邻接顶点数}
var
L:array[1..64] of byte {队列}
F,r:byte {f队头指针,r队尾指针}
B:array[1..64] of byte {链接表,表示某一个结点的前趋结点}
G:array[1..10] of byte {表示层结点的首结点在队列开始的位置}
H:byte {搜索的层次}
由于搜索过的点不再进行搜索,故设置一个数组E[M]为标记,表示结点M是否访问过
e:array[1..8] of 0..1;{用1表示已访问过,0表示还没有访问}
c:array[1..8,1..8]of byte; {C[s,j]存储到达目标结点后各最短路径的线路}
bb:Boolean {搜索结束标记}
3、算法描述
⑴设立初值,并令起始结点进队:
f:=0;r:=1;lL[r]:=st,E[st]:=1;w:=1;h:=1;
⑵将此时第h层(开始h=1,表示第一层)的w(开始时w=1,表示一个结点)顶点的顺序出队,并访问与该层各顶点相邻接但又没有访问过的顶点,同时将这些结点进队列,且设立前趋链接指针和访问过标记,若此时的结点为目标结点,则只设立前趋链接指针而不设立访问过标记
⑶计算此时第h+1层的顶点个数w:=r+1-g[h],然后看该层有多少个顶点为目标结点,凡是出现目标顶点的,就将其个数累计,也就是为最短路径的条数,同时从这个目标结点按前趋链接指针将到达该目标结点的路径的各个顶点编号存入c[s,j]中,然后转⑷,若目标顶点累计个数为0,表明该层没有出现目标结点,则转⑵。
⑷打印搜索到的各条最短路径的各结点编号,并结束程序。
程序如下:(见exp7_1.pas)
program exp7_1;
const
d:array[1..8,1..4] of byte=((2,3,4,0),(1,3,7,0),(1,2,4,5),(1,3,6,0),(3,6,7,8),(4,5,8,0),(2,5,8,0),(5,6,7,0));
n:array[1..8] of byte=(3,3,4,3,4,3,3,3);
var
L,b:array[1..64] of byte;
F,r,h,m,st,ed,I,j,t,k,s,p,w:byte;
G:array[1..10] of byte;
e:array[1..8] of 0..1;
c:array[1..8,1..8]of byte;
bb:Boolean;
begin
write(start:);readln(st);
write(end:);readln(ed);
fillchar(e,sizeof(e),0); {标记数组清零}
fillchar(c,sizeof(c),0); {路径数组清零}
f:=0;r:=1;L[r]:=st;h:
您可能关注的文档
- 河南省电梯使用单位需注意事项.doc
- 河南省第二周期医院评审暨综合评价内容.doc
- 河南省超速行驶常见违法行为及处罚标准.doc
- 河南省电视台标书—最终2.doc
- 河南省第十七届大学生田径运动会竞赛日程表.doc
- 河南省预拌商品混凝土质量检查表.doc
- 河南省酒店餐饮住宿业发展情况.doc
- 河南省炭素生产企业安全生产标准化考评标准.doc1.doc
- 河南省银盾保安服务有限公司制度.doc
- 河南省驻马店市天地惠城小区项目部年终总结汇报.doc
- 2026年新疆师范大学辅导员招聘备考题库最新.docx
- 2026年上海立达学院辅导员招聘备考题库最新.docx
- 2025年长城铝业公司职工工学院辅导员招聘备考题库附答案.docx
- 2025年重庆应用技术职业学院辅导员考试笔试真题汇编附答案.docx
- 2025年香港中文大学(深圳)辅导员招聘考试真题汇编最新.docx
- 2025年闽南科技学院辅导员考试笔试真题汇编附答案.docx
- 2025年青岛大学辅导员招聘考试真题汇编附答案.docx
- 2025年长春早期教育职业学院辅导员考试笔试真题汇编最新.docx
- 2026年东北农业大学辅导员招聘备考题库最新.docx
- 2025年陕西学前师范学院辅导员考试笔试题库最新.docx
最近下载
- 整本书阅读《红岩》课件(共2课时)(共59张PPT).pptx
- 潍坊科技学院《财务管理》2025 - 2026学年第一学期期末试卷.docx VIP
- 学堂在线 雨课堂 学堂云 兵棋 章节测试答案.docx VIP
- 2025广西公需科目培训考试答案(90分)一区两地一园一通道建设人工智能时代的机遇与挑战.docx VIP
- 2025年继续教育公需课考试题.docx VIP
- 开尔文电桥法测量电阻的电阻率.doc VIP
- 经导管主动脉瓣植入术患者的麻醉管理 - 华西医学.pdf
- 2025广东教师公需课《人工智能赋能制造业高质量发展》习题答案.pdf
- 32-5t双梁桥式起重机设计(含全套CAD图纸).pdf VIP
- 工程建设标准体系.docx VIP
原创力文档


文档评论(0)