- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
h
合肥学院
计算机科学与技术系
课程设计报告
2012~2013学年第2学期
课程数据结构与算法设计课程设计
课程设计名称欧拉回路
学生姓名陶飞
学号1104012039
专业班级计算机科学与技术11级3班
指导教师李红,何立新,华珊珊,陈艳平
2013年3月
h
h
题目:
欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现
给定一个图,问是否存在欧拉回路?
一.问题分析和任务定义:
题目要求判断一个给定的图中是否存在欧拉回路。由欧拉图的定义,当一个图存在欧拉
回路时,该图称为欧拉图。题目问是否存在欧拉回路即等价于问给定的图是否为欧拉图。所
以,证明给定图是欧拉图就说明该图存在欧拉回路,否则不存在欧拉回路。根据高等教育出
版社出版屈婉玲、耿素云、张立昂主编的《离散数学》P.296定理15.1可知:无向图G是
欧拉图当且仅当G是连通图且没有奇度顶点。要证明一个给定的图是否为欧拉图,证明给定
的图是连通图且没有奇度顶点即可。所以,解决题目中的问题就转化为证明给定图是否是连
通图且没有奇度顶点。
首先要确定一给定的图是否为连通图。这里我们可以通过图的深度优先有哪些信誉好的足球投注网站遍历确定。
从任意顶点出发,如果能深度优先遍历到所有的顶点就说明图中所有的顶点都是连图的即为
连通图。
然后再确定给定的图是否没有奇度顶点。我们可以以邻接矩阵的形式存储给定的图,对
邻接矩阵的每行分别行进行扫描,记录每个顶点的度数,当每行扫描完后判断该顶点的度数
是否为奇数,存在奇度顶点直接结束扫描,说明存在奇度顶点,给定图不是欧拉图。即不存
在欧拉回路。否则继续扫描,当扫描完所有的行没有发现奇度顶点,即说明给定图没有奇度
顶点。
当上述两个问题都确定以后根据定理,当且仅当给定图为连通图且没有奇度顶点时给定
的图为欧拉图。由此可确定,给定的图是否存在欧拉回路。
二.数据结构的选择与概要设计:
1.数据结构的选择:
图在我们所学的数据结构与算法课程中有四种存储方式:邻接矩阵、邻接表、十字链表
和邻接多重表。本问题比较简单,选用邻接矩阵或邻接矩阵就足够了。在本课程设计中需要
判断是否有奇度顶点和是否为连通图,用用邻接表和邻接矩阵在时间繁杂度没有什么大的差
别,在空间复杂度上,因为本题是无向图,如果如果用邻接表,储存一条边要储存两次,存
储指针比int型的空间消耗大,在图不是很大的情况下,邻接矩阵的空间复杂度要小。同时
选用邻接矩阵很容易得到图中个顶点的度数。因为顶点只要求编号这一信息,所以就没有用
结构体存储顶点信息,图用邻接矩阵要用结构体存储。结构体定义如下:
typedefstruct
{
intn;//顶点个数
inte;//边的条数
intvexs[MAX_VERTEX_NUM];//一维数组储存顶点
intedges[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//二维数组储存边
}MGraph;//图
2.概要设计
首先将图转换为邻接矩阵存储起来,然后邻接矩阵的每一行进行有哪些信誉好的足球投注网站得图中到每个顶点
h
h
的度数,如果有奇度顶点,
文档评论(0)