欢迎来到天天文库
浏览记录
ID:21606162
大小:211.89 KB
页数:11页
时间:2018-10-23
《二叉树基本操作数据结构实验报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、嗲被姓名嗲号告夂雖级定敉时闵2016月日一、系统功能介绍2二、需求分析2概要设计U!详细设计五、调试分析六、使用说明七、测试结果八、心得体会九、附录(程序代码)91011、系统功能介绍该系统主要功能是实现二叉树的定义和基本操作,包括定义二叉树的结构类型以及各个操作的具体函数的定义和主函数的定义。各操作主要包括:初始化二叉树、按先序次序建立二叉树、检查二叉树是否为空、前序、中序、后序遍历树的方式、求树的深度、求树的结点数目、清空二叉树等九个对树的操作。本系统通过函数调川实现二叉树初始化,建立二叉树,检查树空与否,川前序、中序、后序遍历二叉树,求树的深度,求树
2、的结点数目,清空二叉树等功能。1)输出的形式和输出值的范围:在选择操作屮,都以整型(数字)选择操作,插入和输出的数值都是char类型的字符;2)输出的形式:在每次操作后,都会提示操作是否成功或者操作的结果;3)程序达到的功能:完成初始化、检查是否为空、请空、遍历、求树的深度、求树的结点数目等功能;4)测试数据设计:A,按先序次序建立二叉树。依次输入a,b,c,d,e,f,g.建立二叉树。B,分别按先序,中序和后序遍历输出二叉树中的结点元素。C,求树的高度和结点数。、概要分析为了实现上述功能,定义二叉树的抽象数据类型。ADTBinTree)数据对象D:D是具
3、有相同特性的数据元素的集合。数据关系R:若0=江,称BinTree为空二叉树若測R={H},H是如下的二元关系;(1)在D中存在唯一的称为根的数据元素root,它在关系H下无前驱;(2)若D-{root}弇C,则存在D-{root}={Dl,Dr},且DinDr=C;(3)若D关広,则中存在唯一的元素xl,<root,xl〉GH,,且存在D1上的关系H1H;若则屮存在唯一的元素且存在上的饿关系(4)是一棵符合本定义的二叉树,称为根的左子树,是一棵符合本定义的二叉树,称为根的右子树。基本操作P:BinTreeBinTreelnitQ操作结果:构造空的二叉树初
4、始条件:给出二叉树的定义}BinTreeBinTreeCreat(BinTree&BT){操作结果:用先序序列创建一个二叉树初始条件:构造了空的二叉树)intBinTreeEmptyO{操作结果:返回0或1,即树的空与否初始条件:二叉树存在)voidPreBinTraverse(BinTreeBT){操作结果:按先序序列遍历输出二叉树初始条件:二叉树存在)voidInBinTraverse(BinTreeBT){操作结果:按中序序列遍历输出二叉树初始条件:二叉树存在}voidPastBinTraverse(BinTreeBT){操作结果:按后序序列遍历输出
5、二叉树初始条件:二叉树存在)intBinTreeDepth(BinTreeBT){操作结果:返回二叉树的深度初始条件:二叉树存在)intBinTreeCount(BinTreeBT){操作结果:返回二叉树的结点个数初始条件:二叉树存在}voidBinTreeClear(BinTree&BT){操作结果:清空释放二叉树的结点初始条件:二叉树存在四、详细设计流程图实现概要设计中定义的所有的数据类型,对每个操作给山伪码算法。对主程序和其他模块也都需要写出伪码算法。typedefintDataType;树节点类型定义typedefstructBitNode{int
6、data;structBitNode*lchild,*rchild;}BitNode,*BitTree;l.初始化二叉树,即把树根指针置空1.二叉树初始化(算法)2.按先序次序建立一个二叉树(算法)3.检查二叉树是否为空(算法)4.前序遍历(算法)5.中序遍历(算法)6.后序遍历(算法)7.求二叉树的深度(算法)8.求二叉树中所有结点数(算法)9.清除二叉树,使之变为空树五.调试分析六.结果测试空树为历否遍空是奮賀树断精I3SI树历点川棵遍结!E立中树F建按求71-■■品木258的WW面S历舊进一遍!#要化磊操鑿則树出选初按求退请--I-I-操作界面义1树
7、已经初始化!选择1后:分别输入1,2,3,0,0,4,5,0,2隋输入节点的内容,输入0时结束建立!选择2:0,0,0,建立一棵树。12345如^:^:^:如容容容容容内内内内内lrT~T—rvr—ON«^JlrT~T点点点点点士d士d士d士d士dSNSNSNSN.-/?选择4:柯结点的内容为:3结点的内容为:2结点的内容为结点的内容为:4选择5:M结点的内容为:1选择6:选择7:选择8:选择9:%的深度为,4
8、己经數Ifl选择0:0Pressany奴eytocontinue,■■■七.心得体会八.可执行的完整源代码
此文档下载收益归作者所有