二叉树类模板的设计及实现.docx

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
封皮(按学校要求手工填写)成绩评定表学生姓名傅晨冉班级学号1203060408专业通信工程课程设计题目二叉树类模板的设计与实现评语组长签字:成绩日期20 年月日课程设计任务书学院信息科学与工程专业通信工程学生姓名傅晨冉班级学号1203060408课程设计题目二叉树类模板的设计与实现实践教学要求与任务进行二叉树类模板的设计并实现,数据元素可以是char,int,float等多种数据类型,包括以下功能:采取顺序存储结构或链式存储结构实现二叉树的存储;实现二叉树的建树;实现二叉树的前序、中序、后序遍历;能够求解二叉树的结点总数和叶子结点总数;能够求解二叉树的高度;将上述功能作为类的成员函数实现,编写主函数测试上述功能。工作计划与进度安排第17周:分析题目,查阅课题相关资料,进行类设计、算法设计;第18周:程序的设计、调试与实现;第19周:程序测试与分析,撰写课程设计报告,进行答辩验收。指导教师: 201 年月日专业负责人:201 年月日学院教学副院长:201 年月日摘要树结构在客观世界中广泛存在,如族谱、各种社会组织机构等都可以用树形结构来表示;树结构在计算机中应用也很广泛,如文件夹;其中二叉树结构是比较常用的一种数据结构,简单来说每个结点最多有两个孩子。本文采用C++语言来描述二叉树类模板的设计并实现其功能,并且采用VS2010应用程序来实现程序。关键词:二叉树类模板;MFC目录1 需求分析12 算法基本原理13 类设计14 基于控制台的应用程序24.1 类的接口设计24.2 类的实现34.3 主函数设计84.4 基于控制台的应用程序测试95 基于MFC的应用程序105.1 基于MFC的应用程序设计105.1.1 MFC程序界面设计115.1.2 MFC程序代码设计135.2基于MFC的应用程序测试17结论20参考文献21需求分析进行二叉树类模板的设计并实现,数据元素可以是char,int,float等多种数据类型,包括以下功能:(1)采取顺序存储结构或链式存储结构实现二叉树的存储;(2)实现二叉树的建树;(3)实现二叉树的前序、中序、后序遍历;(4)能够求解二叉树的结点总数和叶子结点总数;(5)能够求解二叉树的高度;(6)将上述功能作为类的成员函数实现,编写主函数测试上述功能。整个二叉树类模板程序中的存储采用的是链式存储结构。在整个二叉树类中所有数据成员和成员函数均采用公有方式,类中有一个二叉树结点的定义,有建立二叉树的成员函数,有先序、中序、后序遍历的成员函数,有求解结点数、叶子节点数、二叉树深度的成员函数,它的功能在类里定义一个调用各个成员函数的成员函数来实现对二叉树的操作,然后在主函数中通过对模板的实例化产生对象,用对象调用成员函数的方式实现预期功能。2算法基本原理一颗二叉树有许多个结点组成,每个结点有三个区域分别存有数据和它的左右孩子指针。大体思路:先构造一棵二叉树,然后依次实现前序、中序、后序遍历,统计二叉树的结点总数,统计二叉树的叶子结点数,求出二叉树的高度这些功能。在主函数中实例化char,int,float数据类型的类对象,然后根据类对象来实现功能。3 类设计根据算法分析可以看到,本设计首先应该设计一个二叉树的模板类,可将ertree作为二叉树的类名,然后在这个类中定义各个成员函数来实现所需要的功能。类的设计如下:templateclass T//声明模板classertree{public:typedefstruct node{//二叉树的节点 T data;struct node *lchild,*rchild;}bitree;bitree *tree1();//建立二叉树Xxu(bitree *p);//先序遍历的结果Zxu(bitree *p);//中序遍历的结果Hxu(bitree *p);//后序遍历的结果JDS(bitree *p);//结点数YZJDS1(bitree *p);//叶子结点数height(bitree *p);//二叉树的高度fun();//调用成员函数}在实现过程中,需要访问ertree类数据成员,将其数据成员设置成公有的即可。4 基于控制台的应用程序整个程序分为两个独立的文档,Debug 文件夹中包含有VS2010编译好的应用程序,可独立运行;其他文件夹整体包含程序所需要的各个组件,需要依靠VS2010才能运行。4.1 类的接口设计#includestdlib.h//头文件给类的建立提供支持#includemalloc.h#includeiostreamusing namespace std;templateclass Tclassertree{public:typedefstruct node{//二叉树的节点

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档