- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
判断完全二叉树
课程设计报告
课程名称:数据结构课程设计
设计题目: 完全二叉树判断
系 别: 计算机系
专 业:
组 别: 第三组
学生姓名: 学 号:
起止日期:
指导教师:
目 录
第一章 需求分析 2
1.1课程设计任务及要求 2
1.2课程设计思想及开发环境 2
第二章 概要设计 3
2.1 总体方案 3
2.2 功能模块说明 3
第三章调试与操作说明 4
第四章课程设计总结与体会 4
第五章致谢 7
第六章参考文献 7
附录(源代码) 7
第一章 需求分析
1.1课程设计任务及要求
该课程设计的题目为:完全二叉树的判别。也就是对于输入的
二叉树进行判定,看是否为完全二叉树。
为实现此次课程设计的完成,对程序设计作了相应的定义与限制。首先,为了输入的简洁,将树的结点树不大于20;其次,对于二叉树的输入就按照前序遍历的顺序进行输入;最后,对于程序的测试,应该从正反两面进行测试,即输入一个是完全二叉树和一个不是完全二叉树的。
由于输入二叉树时,对于不是完全二叉树的,有的结点会没有左子树或右子树,甚至两子树都没有,为跟好的表示没有子树的情况,在此次程序设计中用“.”来表示
1.2课程设计思想及开发环境
编写语言: C语言
开发工具: Visual C++ Visual Studio 6.0
VC++是微软公司开发的一个IDE(集成开发环境)。学习VC要了解很多Windows平台的特性并且还要掌握MFC、ATL、COM等的知识, VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。 最大缺点是开发效率不高。
对于二叉树的构造,可以运用插入建立,还可以用递归建立。在此次设计中运用的是递归建立。运用队列的进队函数进行对二叉树的结点的输入。对于进队的第一个数据为二叉树的根结点,如果为非空,则继续输入第二个进队元素,将其设置为该根结点的左子树,然后将该左子树作为新的根结点,依次进行到下一层的结点,直至到达叶节点(即既没有左子树也没有右子树),然后对于这以后进队的元素则作为右子树,用相同的方法建树。
第二章概要说明
2.1判定是否为完全二叉树的算法
判定完全二叉树,首先要知道什么是完全二叉树,对完全二叉树定义以前,要明白满二叉树的定义。一棵深度为k且有2k-1个结点的二叉树称为满二叉树。对满二叉树的你借点进行连续编号,约定编号从根结点起,自上而下,自左而右。由此引出完全二叉树的定义。深度为k的,右n个结点的二叉树,当且仅当其每一个结点都与深度为k的满二叉树的编号从1至n的结点一一对应时,称之为完全二叉树。所以对于二叉树的判定,假如某一结点有右子树但没有左子树则该树不是完全二叉树。如果某一结点没有右子树或没有左子树,但是其后的结点有左子树或右子树,则该树不是完全二叉树。根据这种判定方法,可以判定其是不是完全二叉树。
2.2功能模块说明
程序各模块之间的关系图
图1程序模块关系图
第三章调试与操作说明
3.1编码设计
编码建立上一步详细设计结果的基础上,对编码进行调试。
3.2调试
调试一向是我感觉很头疼的一个环节,因为程序中会因为各种各样的原因出现很多错误。所以在调试前应该做好充分的准备,比如说准备一本高级语言程序设计的教材以及先建立好工程和文件。
在设计中,我使用的是Visual C++ 6.0为平台对程序进行调试。调试之前就是要把源程序输入进去,我建立了一个.c文件。
输完源代码后对代码进行编译,出现了诸多问题。比如说,会在语句后面丢掉分号、输入的标点符号不是英语输入中的而是中文输入中的、语法错误、函数调用不匹配的问题等等。对于这些错误需要相当大的耐性,但是都不难解决,只要细心的检查程序就可以更正了。可以在调试错误中找到出错的地方,根据错误信息提示进行改错。对于有的错误提示并不明白是什么错误,也是通过查资料书和在网络上搜索到底是什么错误,在寻求解决方法。
在编译没有错误之后开始组建。
在组建出现了内存泄露,这是在编程中经常出现的问题。产生这种问题的原因也有很多种。大多数情况下就是指针出现错误。于是我就开始检查程序中使用到指针的地方,进行检测
您可能关注的文档
最近下载
- GB_T 26949.1-2020工业车辆 稳定性验证 第 1 部分 总则.docx VIP
- 皮肤科临床诊疗规范2020版.pdf VIP
- 医用耗材培训、运输、售后服务方案.docx VIP
- (高清版)B-T 26949.4-2022 工业车辆 稳定性验证 第4部分:托盘堆垛车、双层堆垛车和操作者位置起升高度不大于1 200 mm的拣选车.pdf VIP
- 2024年6月青少年软件编程图形化等级考试试卷三级真题(含答案).docx VIP
- 医院病例:(鼓楼临床医学院(内分泌科—1型糖尿病)——病例.doc
- 足部保健按摩.ppt VIP
- 初化学空气与氧气知识点复习.doc VIP
- 斜视课件(ppt文档).pptx VIP
- 供货、安装、调试、验收方案.docx VIP
文档评论(0)