广工数据结构实验报告--平衡二叉树

广工数据结构实验报告--平衡二叉树

ID:38593176

大小:263.00 KB

页数:38页

时间:2019-06-15

广工数据结构实验报告--平衡二叉树_第1页
广工数据结构实验报告--平衡二叉树_第2页
广工数据结构实验报告--平衡二叉树_第3页
广工数据结构实验报告--平衡二叉树_第4页
广工数据结构实验报告--平衡二叉树_第5页
资源描述:

《广工数据结构实验报告--平衡二叉树》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验报告课程名称数据结构实验学院计算机学院专业班级计科9班学号学生姓名指导教师苏庆2015年7月6日1.题目:平衡二叉树ADTBBSTree{数据对象:D={ai

2、ai∈ElemSet,i=1,2,...,n,n≥0}数据关系:R1={

3、ai-1,ai∈D,i=2,...,n}基本操作:BBSTreeMakeBBSTree()操作结果:创建好一棵树返回:将创建好的树返回StatusInsertAVL(BBSTree&T,RcdTypee,Status&taller)初始条件:树T已存在,e存在,ta

4、ller为真操作结果:将e插入到T中返回:成功TRUE,失败FALSEStatusDeleteAVL(BBSTree&t,RcdTypee,Status&shorter)初始条件:树T已存在,e存在,shorter为真操作结果:将e从T中删除返回:成功TRUE,失败FALSEBBSTreeSearchAVL(BBSTreeT,RcdTypee)初始条件:树T已存在,e存在操作结果:从T中找到e返回:以e为根节点的树voidL_Rotate(BBSTree&p)初始条件:树p存在操作结果:对p左旋操作voidR_Rot

5、ate(BBSTree&p)初始条件:树p存在操作结果:对p右旋操作voidLeftBalance(BBSTree&T)初始条件:树T存在操作结果:对T左平衡操作voidRightBalance(BBSTree&T)初始条件:树T存在操作结果:对T右平衡操作voidExchangeSubTree(BBSTree&T)初始条件:树T存在操作结果:对T所有左右孩子交换intBBSTreeDepth(BBSTreeT)初始条件:树T已存在操作结果:求树T的深度返回:树的深度BBSTreeCombine2Tree(BBSTr

6、eeT1,BBSTreeT2)初始条件:树T1和T2已存在操作结果:将T1和T2合并返回:合并后的树StatusSplitBBSTree(BBSTreeTt1,BBSTree&Tt2,BBSTree&Tt3,intx)初始条件:树Tt1,Tt2,Tt3已存在,x存在操作结果:将Tt1分裂成Tt2和Tt3返回:以e为根节点的树StatusPreOrder_RecTraverse(BBSTreeT)初始条件:树T已存在操作结果:对树T进行递归先序遍历输出返回:成功TRUE失败FALSEStatusInOrder_RecT

7、raverse(BBSTreeT)初始条件:树T已存在操作结果:对树T进行递归中序遍历输出返回:成功TRUE失败FALSEStatusLastOrder_RecTraverse(BBSTreeT)初始条件:树T已存在操作结果:对树T进行递归后序遍历输出返回:成功TRUE失败FALSEvoidPreOrderTravese_I(BBSTreeT)初始条件:树T已存在操作结果:对树T进行非递归先序遍历输出voidInOrderTraverse_I(BBSTreeT)初始条件:树T已存在操作结果:对树T进行非递归中序遍历输

8、出voidLastOrderTravese_I(BBSTreeT)初始条件:树T已存在操作结果:对树T进行非递归后序遍历输出voidLevelOrederTraverse_Print(BBSTreeT)初始条件:树T已存在操作结果:对树T进行非递归层次遍历输出voidBraNotationPrint(BBSTreeT)初始条件:树T已存在操作结果:对树T用括号表示法输出}ADTBBSTree1.存储结构定义#include#include#defineOVERFLOW-1#def

9、ineOK1#defineERROR0#defineTRUE1#defineFALSE0#defineLH+1//左高#defineEH0//等高#defineRH-1//右高typedefintRcdType;typedefintStatus;/*平衡二叉树结构体*/typedefstructBBSTNode{RcdTypedata;intbf;BBSTNode*lchild,*rchild;}BBSTNode,*BBSTree;1.算法设计/*求平衡二叉树的深度*/intBBSTreeDepth(BBSTreeT

10、){intdepthLeft,depthRight;if(NULL==T)return0;else{depthLeft=BBSTreeDepth(T->lchild);depthRight=BBSTreeDepth(T->rchild);return1+(depthLeft>depthRight?depthLeft:depthRight);}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。