[工学]第5章 图的搜索算法.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第5章 图的搜索算法

2.显式图的常用术语 3.隐式图术语 1)子集树 2)排列树 4.图的存储 2)邻接表 二、图搜索及其术语 2.相关概念和术语 一、算法框架 2.算法框架 1)邻接表表示图的广度优先搜索算法 2)邻接矩阵表示的图的广度优先搜索算法 算法过程: 数据结构设计: 【例】走迷宫问题 算法设计: 数据结构设计: 首先访问出发点V,并将其标记为已访问过;然后依次从V出发搜索V的每个邻接点W。若W未曾访问过,则以W为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点均已被访问为止。 一、算法框架 1.算法的基本思路 1)确定图的存储方式; 2)遍历过程中的操作,其中包括为输出问题解而进行的存储操作; 3)输出问题的结论。 4)一般在回溯前的应该将结点状态恢复为原始状态,特别是在有多解需求的问题中。 int visite[n]; graph head[100]; dfs(int k) // head图的顶点数组 { edgenode *ptr //ptr图的边表指针 visited[k]=1; // 记录已遍历过 print(k); ptr=head[k].firstedge; //顶点的第一个邻接点 while(ptrNULL) //遍历至链表尾 { if(visited[ptr-vertex]=0) //如没遍历过 dfs(ptr-vertex); //递归遍历 ptr=ptr-nextnode; //下一个顶点 } } 2)邻接矩阵存储图的搜索算法 graph g[100][100],int n; dfsm(int k) { int j; print(k); visited[k]=1; for(j=1;j=n;j++) //依次搜索vk的邻接点 ?? ??? if(g[k][j]=1 and visited[j]=0) ??????? dfsm(g,j) //(vk,vj)∈E,且vj未访问过,故vj为新出发点 } 【例】走迷宫问题 用迷宫本身的存储空间除了记录走过的信息,还要标识是否可行: maze[i][j]=3 标识走过的方格 ; maze[i][j]=2 标识走入死胡同的方格, 这样,最后存储为“3”的方格为可行的方格。而当一个方格四个方向都搜索完还没有走到出口,说明该方格或无路可走或只能走入了“死胡同”。 int maze[8][8]={{0,0,0,0,0,0,0,0}, {0,1,1,1,1,0,1,0},{0,0,0,0,1,0,1,0}, {0,1,0,0,0,0,1,0},{0,1,0,1,1,0,1,0}, {0,1,0,0,0,0,1,1},{0,1,0,0,1,0,0,0}, {0,1,1,1,1,1,1,0}}; int fx[4]={1,-1,0,0}, fy[4]={0,0,-1,1}; int i,j,k,total; main( ) { int total=0; maze[1][1]=3; //入口坐标设置已走标志 search(1,1); print(“Total is”,total); //统计总步数 } search(int i, int j) { int k,newi,newj; for(k=1;k=4;k++) //搜索可达的方格/ if(check(i,j,k)=1) { newi=i+fx[k]; newj=j+fy[k]; maze[newi][newj]=3; //设置已走过标志 if(newi=8 and newj=8) Out( ); else search(newi,newj); } maze[i][j]=2; //某一方格只能走入死胡同 } Out( ) { int i,j; for( i=1;i=8;i++) { print(“换行符”); for(j=1;j=8;j++) if(m

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档