- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构图的建立与输出课程设计
计算机工程学院
数据结构课程
设计报告
题 目: 图的建立与输出
姓 名:
学 号:
专业班级:
指导教师:
设计时间:
目录
课题任务与计划………………………………………3
设计方案及原理………………………………………3
2.1 图有两种主要的存储结构 ………………………………3
2.2 图的邻接表存储表示……………………………………4
2.3 有向图的十字链表存储表示法……………………………5
2.4无向图的邻接多重表存储表示……………………………5
邻接矩阵表示法 ………………………………………6
邻接表表示法 …………………………………………9
各功能的程序流程……………………………………10
3.1函数功能的实现 ………………………………………10
3.2变量的定义 …………………………………………12
主函数程序流程………………………………………12
实验数据分析…………………………………………13
附源代码………………………………………………16
参考书目………………………………………………19
一 课题任务与计划
建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。
数据结构课程设计是学习数据结构课程的一个重要环节。能巩固和加深课堂教学内容,提高学生实际工作能力,培养科学作风,为学习后续课程和今后的系统开发奠定基础。
通过课程设计,使学生熟练掌握数据结构课程中所学的理论知识,并实际应用,通过综合运用数据结构的基本知识来解决实际问题,加强学生分析和解决问题的能力。
除了广义表和树以外,都可以有两类不同的存储结构,它们是由不同的映像方法(顺序映像和链式映像)得到的。由于图的结构比较复杂,任意两个顶点之间都可能存在联系,因此无法以数据元素在存储区中的物理位置来表示元素之间的关系,即图没有顺序映像的存储结构,但可以借助数组的数据类型表示元素之间的关系。另一方面,用多重链表表示图是自然的事,它是一种最简单的链式映像结构,即以一数据域和多个指针域组成的结点表示图中一个顶点,其中数据域存储该顶点的信息,指针域存储指向其邻接点的指针,如图所示,有向图G1和无向图G2的多重链表。但是,由于图中各个结点的度数不同,最大度数和最小度数可能相差很多,因此,若按度数最大的顶点设计结点结构,则会浪费很多存储单元;反之,若按每个顶点自己的度数设计不同的结点结构,又会给操作带来不便。因此,和树类似,在实现应用中不宜采用这种结构,而应该根据具体的图的需要进行的操作,设计恰当的结点结构和表结构。常用的就有我们熟悉的邻接表、邻接多重表和十字链表。所以,我们打算采用邻接表的方法设计图的存储结构,包括图的建立与存储。
二 设计方案及工作原理
1. 图有两种主要的存储结构,它们是邻接矩阵表示法和邻接表表示法。设图 A = (V, E)是一个有 n 个顶点的图, 图的邻接矩阵是一个二维数组 A.edge[n][n], 用来存放顶点的信息和边或弧的信息。
(1)无向图的邻接矩阵是对称的;有向图的邻接矩阵可能是不对称的。
(2) 在有向图中, 统计第 i 行 1 的个数可得顶点 i 的出度,统计第 j 行 1 的个数可得顶点j 的入度。在无向图中, 统计第 i 行 (列) 1 的个数可得顶点i的度。
图的邻接表(Adjacency List)存储表示法
邻接表是图的一种链式存储结构,它对图中每个顶点建立一个单链表,第i个单链表中的结 点表示依附于顶点vi的边(对有向图是以顶点vi为尾的弧),每个结点由三个域组成:邻接点域(adjvex)指示与顶点vi邻接的点在图中的位置,链域(nextarc)指示下一条边或弧的结点,数据 域(info)存储和边或弧相关的信息(如权值)。每个链表上附设一个表头结点,包含数据域(data)和链域(firstarc)指向链表中的第一个结点,这些表头结点通常以顺序结构的形式存储,
以便随机访问任一顶点的链表。
在无向图的邻接表中,顶点vi的度等于第i个链表中的结点数;在有向图的邻接表中,顶点vi的出度等于第i个链表中的结点数,求入度必须遍历整个邻接表,为便于求vi的入度需建立有 向图的逆邻接表(是以顶点vi为头的弧所建立的邻接表)。
2. 图的邻接表存储表示:
#define MAX_
您可能关注的文档
- 宽带接入网的规划与设计.doc
- 富朗特工程施工组织设计.doc
- 富含膳食纤维面包的工艺.doc
- 寒假村委会实习报告.doc
- 宽带接入网络建设及业务方案.doc
- 对于继电器控制电路抗干扰的一些建议.doc
- 对劳动关系的认识.doc
- 对啤酒生产废料进行综合利用的前景.doc
- 对大学物理改革的思考用电脑模拟实验过程.doc
- 导演基础考试重点.doc
- 大数据与机器学习第二章.docx
- 2025-2030全球及中国批量计算行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
- 2025-2030全球与中国消火栓头竞争对手及发展现状调研研究报告.docx
- 2025-2030全球及中国云员工监控解决方案行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
- 2025-2030全球及中国农业管理软件行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
- 2025-2030全球及中国天然气车(NGV)行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
- 2025-2030全球及中国改性沥青屋面行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
- 2025-2030全球与中国皮革整理剂行业发展现状及未来趋势预测分析研究报告.docx
- 2025-2030全球及中国国防后勤行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
- 2025-2030全球及中国宠物挑逗玩具行业市场现状供需分析及市场深度研究发展前景及规划可行性分析研究报告.docx
文档评论(0)