NOIP普及讲座7-图的基本知识(C++版).pptxVIP

NOIP普及讲座7-图的基本知识(C++版).pptx

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

◆图的概念

◆图的存储

◆图的遍历

◆图的应用;1736年欧拉利用图论思想解决了哥尼斯堡七桥问题(一笔画)

;(1)图的表示;提问1:一个图中,全部顶点的度数为所有边数的倍;;1、假设我们用d=(a1,a2,...,a5),表示无向图G的5个顶点的度数,下面给出的哪(些)组d值合理(??????)。

????A.{5,4,4,3,1} B.{4,2,2,1,1}?

C.{3,3,3,2,2}? D.{5,4,3,2,1}

????E.{2,2,2,2,2};欧拉图;1)定义:;周游世界游戏问题;1)定义:;在下图中,从顶点()出发存在一条路径可以遍历图中的每条边一次,而且仅遍历一次。

;判断下图是否具有哈密尔顿回路,通路。;例1.城市公交网。有一张城市地图,图中的顶点为城市,无向边代表两个城市间的连通关系,边上的权为在这两个城市之间修建高速公路的造价,研究后发现,这个地图有一个特点,即任一对城市都是连通的。现在的问题是,要修建若干高速公路把所有城市联系起来,问如何设计可使得工程的总造价最少。;1.邻接矩阵;邻接矩阵表示为:;建立带权无向图的领接矩阵;2.边集数组;图的边集数组表示算法描述(以无向带权图为例);静态数组;voidcreatelist;

{

memset(g,0,sizeof(g));

cinne;

for(k=1;k=e;k++)

{

cinij;

g[i][0]++;

g[i][g[i][0]]=j;

}

};4.图的三种存储结构比较(n阶e条边):;例1.城市公交网。有一张城市地图,图中的顶点为城市,无向边代表两个城市间的连通关系,边上的权为在这两个城市之间修建高速公路的造价,研究后发现,这个地图有一个特点,即任一对城市都是连通的。现在的问题是,要修建若干高速公路把所有城市联系起来,问如何设计可使得工程的总造价最少?;1.深度优先搜索;对下图从1出发进行宽度优先搜索,写出搜索结果。;无向图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;例1的深度优先遍历的递归过程如???:

vioddfs(inti);{图用邻接矩阵存储}

{

访问顶点i;

visited[i]=true;

for(j=1;j=n;j++)

if(NotVisited[j]a[i][j]==1)dfs(j);

};时间:O(n*n);例2、奇怪的电梯;有N个盘子,每个盘子上写着一个仅由小写字母组成的英文单词。

你需要给这些盘子按照合适的顺序排成一行,使得相邻两个盘子中,前一个盘子上面单词的末字母等于后一个盘子上面单词的首字母。

请你编写一个程序,判断是否能达到这一要求。如果能,请给出一个合适的顺序。;malform;malform;将每个盘子看作一个顶点。

如果盘子B能连接在盘子A后面,那么从A向B连一条有向边。;问题转化为在图中寻找一条不重复地经过所有顶点的路径,即哈密尔顿路。

但是,求哈密尔顿路是一个十分困难的问题,这样的建模没有给解题带来任何便利。我们必须另辟蹊径。;以26个英文字母作为顶点。

对于每一个单词,在图中从它的首字母向末字母连一条有向边。;问题转化为在图中寻找一条不重复地经过所有边的路径,即欧拉路径。

这个问题能够在O(|E|)时间内解决。;比较以上两个模型,模型1过于直接,模型2则打破了“顶点表示元素,边表示元素之间关系”的思维定势,将元素表示在边上,而顶点则起到连接各个元素的作用。;例4拦截匪徒(catch.???)

某市的地图是一个由n个点组成的无向图,每个点代表一个区。现在第p区发生了抢劫案,而警察为了截住匪徒埋伏在一个匪徒必经的区域。由于不知道匪

文档评论(0)

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

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

1亿VIP精品文档

相关文档