- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
NOIP普及讲座7-图的基本知识(C++版).ppt
无向图G=(V,E),其中V={a,b,c,d,e,f} E={(a,b),(a,e),(a,c),(b,e),(c,f),(f,d),(e,d)}对该图进行深度优先遍历,得到的顶点序列正确的是( ) A. a,b,e,c,d,f B. a,c,f,e,b,d C. a,e,b,c,f,d D. a,b,e,d,f,c 轻松小练 a c d b e f 该图进行广度优先遍历,得到的顶点序列正确的是什么? 例1的深度优先遍历的递归过程如下: viod dfs(int i); {图用邻接矩阵存储} { 访问顶点i; visited[i]=true; for (j=1;j=n;j++) if (Not Visited[j]a[i][j]==1) dfs(j); } 以上dfs(i)的时间复杂度为O(n*n)。 对于一个非连通图,调用一次dfs(i),即按深度优先顺序依次访问了顶点i所在的(强)连通分支,所以只要在主程序中加上: for (i=1;i=n;i++) {深度优先搜索每一个未被访问过的顶点} if (not Visited) dfs(i); A1= ∞ 2 12 10 ∞ 2 ∞ 8 ∞ 9 12 8 ∞ 6 3 10 ∞ 6 ∞ 7 ∞ 9 3 7 ∞ 时间:O(n*n) 例1的广度优先遍历如下: void bfs(int i); {宽度优先遍历,图用邻接矩阵表示} { 访问顶点i;Visited[i]=true;顶点i入队q; while (队列q非空) { head++;v=q[head].v; for (j=1;j=n;j++) { if (not Visited[j]a[v,j]==1) { 访问顶点j;Visited[j]=true;顶点j入队q; } } } } A1= ∞ 7 3 10 15 7 ∞ 5 13 12 3 5 ∞ 6 10 10 13 6 ∞ 11 15 12 10 11 ∞ 例2、奇怪的电梯 DFS、BFS程序,请同学们课后独立完成! 1 4 2 3 5 例3 单词游戏 有N个盘子,每个盘子上写着一个仅由小写字母组成的英文单词。 你需要给这些盘子按照合适的顺序排成一行,使得相邻两个盘子中,前一个盘子上面单词的末字母等于后一个盘子上面单词的首字母。 请你编写一个程序,判断是否能达到这一要求。如果能,请给出一个合适的顺序。 样例 malform mouse acm 样例 malform mouse acm m m m m 模型1 将每个盘子看作一个顶点。 如果盘子B能连接在盘子A后面,那么从A向B连一条有向边。 模型1 问题转化为在图中寻找一条不重复地经过所有顶点的路径,即哈密尔顿路。 但是,求哈密尔顿路是一个十分困难的问题,这样的建模没有给解题带来任何便利。我们必须另辟蹊径。 模型2 以26个英文字母作为顶点。 对于每一个单词,在图中从它的首字母向末字母连一条有向边。 模型2 问题转化为在图中寻找一条不重复地经过所有边的路径,即欧拉路径。 这个问题能够在O(|E|)时间内解决。 小结 比较以上两个模型,模型1过于直接,模型2则打破了“顶点表示元素,边表示元素之间关系”的思维定势,将元素表示在边上,而顶点则起到连接各个元素的作用。 例4 拦截匪徒 (catch.???) 某市的地图是一个由n个点组成的无向图,每个点代表一个区。现在第p区发生了抢劫案,而警察为了截住匪徒埋伏在一个匪徒必经的区域。由于不知道匪徒会向哪个区域逃窜,局长要求身为警察局电脑专家的你计算出对于任意一个匪徒可能逃向的区j,找出一个可以截住匪徒的区k,即匪徒从p区逃向j区,必经过k区。由于地区j可能为匪徒的老巢所在,所以局长希望在路上拦住匪徒,而不是在j区抓捕。 输入数据: 第一行为n,p(1≤p≤n≤100)。 接下来为n*n的矩阵A,A[i,j]=1表示i区和j
您可能关注的文档
- (人教版·河北)九年级英语复习课件(自学反馈+重点突破):第16课时-Units-3—4[九年级](共49张PPT).ppt
- (人教版·河北)九年级英语复习课件(自学反馈+重点突破):第18课时-Units-7—8[九年级](共33张PPT).ppt
- (外研·全国)九年级英语复习课件(自学反馈+重点突破)第17课时-Modules-7-9[九年级上册](共38张PPT).ppt
- (新)政治辅导答题技巧.ppt
- (本科)成考英语答题技巧及复习大纲.ppt
- (自考)第一章-管理心理学绪论.ppt
- (自考)第三章-认知的个体差异与管理.ppt
- (自考)第二章-管理和管理心理学的基本理论与人性观的发展.ppt
- (自考)第四章-个性差异与管理.ppt
- (译林牛津版·全国)2015届九年级英语复习课件(自学反馈+重点突破):第10课时-Unit+2++[八年级下册].ppt
文档评论(0)