- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
学号
武汉华夏理工学院
课程设计报告书
课程名称: 数据结构
题 目:构建一棵二叉排序树的C程序的设计
系 名: 信息工程学院
专业班级:
姓 名:
指导教师:
2018 年 6月 27日
课程设计任务书
设计题目:构建一棵二叉排序树的C程序的设计
设计目的
1.巩固和加深课堂所学知识、学会分析研究数据对象的特性及数据的组织方法;
2.选择的合适数据的逻辑结构和存储结构以及相应操作,实现二叉排序树的基本操作;
3.提高程序设计能力、加强查阅、运用资料的能力、算法分析与程序设计素质培养 ;
设计任务 (在规定的时间内完成下列任务)
〔问题描述〕建立一棵二叉排序树 ,并完成插入结点、按值查找结点位置和显示等功能。
〔基本要求〕按二叉树的插入方法, 形成二叉排序树
主模块给出操作菜单,用函数实现不同功能在主函数中调用
〔算法提示〕首先设定二叉树的二叉链表的存储结构:在建立二叉树时将每一个结点按左右子树的规定形成挂到树上; 按二叉排序树的特点进行查找,按中序遍历的方法显示树中结点 ;
具体要完成的任务是:
A. 编制完成上述问题的C语言程序、进行程序调试并能得出正确的运行结果。
B. 写出规范的课程设计报告书;
时间安排:6月27日---7月1 日
第一天
布置题目,确定任务、查找相关资料
第二天~第四天
功能分析,编写程序,调试程序、运行系统;
第五天
程序验收、答辩;撰写设计报告。
具体要求
1. 课程设计报告按统一通用格式书写,具体内容如下:
① 设计任务与要求
② 总体方案与说明
③ 软件主要模块的流程图
④ 源程序清单与注释
⑤ 问题分析与解决方案(包括调式报告,即在调式过程中遇到的主要问题、解决方法及改进设想);
⑥ 小结与体会
附录:① 源程序(必须有简单注释) ② 使用说明 ③ 参考资料
2.每位学生应独立完成各自的任务且每天至少在设计室工作半天;
指 导 教 师 签 名: 2016 年 6月 25日
教研室主任(或责任教师)签名: 2016年 6月 25日
1实验目的与目标 TOC \o 1-3 \h \z \u
一、目的
数据结构课程设计是学习了数据结构课后的一个综合性实践环节,是对课程学习的综合和补充。通过课程设计培养学生运用已学过的理论和技能去分析和解决实际问题的能力、加强学生的实践动手能力和创新能力。
二、目标
1、结合c和数据结构的理论知识,按要求独立设计方案,培养独立分析和解决实际问题的能力。加强学生的实践动手能力和创新能力。
2、学会查阅资料,熟悉常用算法的用途与技巧。
3、认真撰写课程设计报告,培养严谨的作风和科学态度。
2.问题分析
本次程序需要完成如下要求:首先输入任一组数据,使之构造成二叉排序树,并对其作中序遍历,然后输出遍历后的数据序列;其次,该二叉排序树能实现对数据(即二叉排序树的结点)的查找、插入和删除等基本操作。 实现本程序需要 解决以下几个问题:
如何构造二叉排序树。
如何通过中序遍历输出二叉排序树。
如何实现多种查找。
如何实现插入删除等操作。
二叉排序树的定义:
其左子树非空,则左子树上所有结点的值均小于根结点的值。
若其右子树非空,则右子树上所有结点的值大于根结点的值。
其左右子树也分别为二叉排序树。
本问题的关键在于对于二叉排序树的构造。根据上述二叉排序树二叉排序树的生成需要通过插入算法来实现:输入(插入)的第一个数据即为根结点;继续插入,当插入的新结点的关键值小于根结点的值时就作为左孩子,当插入的新结点的关键值大于根结点的值时就作为右孩子;在左右子树中插入方法与整个二叉排序树相同。当二叉排序树建立完成后,要插入新的数据时,要先判断已建立的二叉排序树序列中是否已有当前插入数据。因此,插入算法还要包括对数据的查找判断过程。
本问题的难点在于二叉排序树的删除算法的实现。删除前,首先要进行查找,判断给出的结点是否已存在于二叉排序树之中;在删除时,为了保证删除结点后的二叉树仍为二叉排序树,要考虑各种情况,选择正确的方法。删除操作要分几种情况讨论,在后面有介绍。
3.总体设计
用二叉链表作为二叉排序树的存储结构,其中key为结点关键值,*lchlid、*rchild分别为左右孩子指针。该程序的结构如下图所示:
M
Main()
先建立一棵二叉排序树,并输出其中序排序后的序列
二叉排序树的查找
二叉排序树的插入
二
您可能关注的文档
- 福建LNG码头施工总体部署及LNG码头系缆墩施工方案设计(文献综述).docx
- 菲米尔人脸识别设备说明书.doc
- 全国各省市艾滋病传播途径综合分析.docx
- xx医院输血科管理制度、程序性文件、SOP文件.doc
- 接仙桥一级水电站增容改造初步设计报告(毕业论文).doc
- xx项目施工升降机安装附墙、顶升加节及维护保养专项施工方案.doc
- 劳动合同(最全最新范本).doc
- 冷链温湿度监控系统解决方案(毕业论文).doc
- 芦草井沟矿井安全技术监控系统工程项目验收报告.doc
- 面向音频的盲分离算法实现程序使用说明(毕业论文).docx
- DB15_T 4098-2025 奶山羊数字化养殖TMR撒料车工作规范.docx
- DB41 2556-2023 生活垃圾焚烧大气污染物排放标准.docx
- T_XJZJXH GY10002.1-2024 “新疆品质”特色产品技术规范 棉本色纱.docx
- T_SMA 0063-2024 城市低压用户供电可靠性评价规程 第3部分:评价对标.docx
- DB1304_T 464-2024 质量基础设施“—站式”服务指南.docx
- DB54_T 0390-2024 传统壁画绘制.docx
- T_BITS 0037-2025 交通信号控制手持终端.docx
- DB4201_T 708-2024 公共资源交易平台运行服务规范.docx
- T_SZSA 015-2024 COB LED光源封装产品技术规范.docx
- DB21_T 4192-2025 畜禽运输车辆清洗消毒及消毒效果评价技术规范.docx
最近下载
- 《SYT0063-1999-管道防腐层检漏试验方法》.pdf VIP
- 关于医院“十五五” 发展规划(详细版).docx VIP
- 2026重庆银行校园招聘180人笔试参考题库附答案解析.docx VIP
- 手术室院感管理制度.docx VIP
- 创业基础(暨南)中国大学MOOC慕课 章节测验期末考试答案(期末考试题目从章节测验中选出,题目没对上,可以在章节测验中查找).docx VIP
- 《操作系统原理》教案.docx VIP
- 经颈静脉肝活检专家共识解读.pptx
- 第三章_5东亚气旋及反气旋.ppt VIP
- 中央空调采购安装投标方案(技术方案).docx
- 铁路货车KZW―A型空重车自动调整装置常见故障剖析及改进建议.doc VIP
原创力文档


文档评论(0)