首页
熊猫办公下载
文件下载
根据地址查询经纬度
登录 / 注册
首页
开发技术
其它
/ 二叉树排序树建立及平衡处理
二叉树排序树建立及平衡处理
上传者:
liu0701
|
上传时间:2024/6/18 4:28:29
|
文件大小:40KB
|
文件类型:rar
二叉树
二叉树排序树
平衡二叉树
二叉树排序树建立及平衡处理
1本程序在vc++6.0编译通过并能正常运行。
2主界面程序已经尽量做到操作简便了,用户只需要根据提示一步步进行操作就行了。
六思考和总结:这个课程设计的各个基本操作大部分都在我的综合性实验中实现了,所以做这个主要攻克插入和删除这两个算法!其中插入在书本上已经有了,其中的右平衡算法虽然没有给出,但通过给出的左平衡算法很容易就可以写出右平衡算法。
所以最终的点就在于删除算法的实现!做的过程中对插入算法进行了非常非常多次的尝试!花了非常多的时间,这其中很多时候是在对程序进行单步调试,运用了VC6。
0的众多良好工具,也学到了很多它的许多好的调试手段。
其中删除算法中最难想到的一点是:在用叶子结点代替要删除的非叶子结点后,应该递归的运用删除算法去删除叶子结点!这就是整个算法的核心,其中很强烈得体会到的递归的强大,递归的最高境界(我暂时能看到的境界)!其它的都没什么了。
选做的那两个算法很容易实现的:1合并两棵平衡二叉排序树:只需遍历其中的一棵,将它的每一个元素插入到另一棵即可。
2拆分两棵平衡二叉排序树:只需以根结点为中心,左子树独立为一棵,右子树独立为一棵,最后将根插入到左子树或右子树即可。
BSTreeEmpty(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:若T为空平衡二叉排序树,则返回TRUE,否则FALSE.BSTreeDepth(BSTreeT)初始条件:平衡二叉排序树存在。
操作结果:返回T的深度。
LeafNum(BSTreeT)求叶子结点数,非递归中序遍历NodeNum(BSTreeT)求结点数,非递归中序遍历DestoryBSTree(BSTree*T)后序遍历销毁平衡二叉排序树TR_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作右旋处理,处理之后p指向新的树根结点即旋转处理之前的左子树的根结点L_Rotate(BSTree*p)对以*p为根的平衡二叉排序树作左旋处理,处理之后p指向新的树根结点,即旋转处理之前的右子树的根结点LeftBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作左平衡旋转处理,本算法结束时,指针T指向新的根结点RightBalance(BSTree*T)对以指针T所指结点为根的平衡二叉排序树作右平衡旋转处理,本算法结束时,指针T指向新的根结点Insert_AVL(BSTree*T,TElemTypee,int*taller)若在平衡的二叉排序树T中不存在和e有相同的关键字的结点,则插入一个数据元素为e的新结点,并返回OK,否则返回ERROR.若因插入而使二叉排序树失去平衡,则作平衡旋转处理布尔变量taller反映T长高与否InOrderTraverse(BSTreeT)递归中序遍历输出平衡二叉排序树SearchBST(BSTreeT,TElemTypee,BSTree*f,BSTree*p)在根指针T所指的平衡二叉排序树中递归的查找其元素值等于e的数据元素,若查找成功,则指针p指向该数据元素结点,并返回TRUE,否则指针p指向查找路径上访问的最后一个结点并返回FALSE,指针f指向T的双亲,其初始调用值为NULLDelete_AVL(BSTree*T,TElemTypee,int*shorter)在平衡二叉排序树中删除元素值为e的结点,成功返回OK,失败返回ERRORPrintBSTree_GList(BSTreeT)以广义表形式打印出来PrintBSTree_AoList(BSTreeT,intlength)以凹入表形式打印,length初始值为0Combine_Two_AVL(BSTree*T1,BSTreeT2)合并两棵平衡二叉排序树Split_AVL(BSTreeT,BSTree*T1,BSTree*T2)拆分两棵平衡二叉树}(2)存储结构的定义:typedefstructBSTNode{ TElemTypedata; intbf;//结点的平衡因子 structBSTNode*lchild,*rchild;//左.右孩子指针}BSTNode,*BSTree;
本软件ID:
1926015
文件下载
立即下载
资源详情
[{"title":"(2个子文件40KB)二叉树排序树建立及平衡处理","children":[{"title":"b.exe <span style='color:#111;'>184.04KB</span>","children":null,"spread":false},{"title":"b.c <span style='color:#111;'>19.88KB</span>","children":null,"spread":false}],"spread":true}]
评论信息
木易青鱼:
还行吧有用!
2013-11-23
萝莉塔con:
帮助了我这个菜鸟很多,非常感谢。全部用最普通的C语言实现,指针方面处理得很准确。不但有我想找的增、删、查、拆分合并,还有求深度等功能,学到了很多!
2013-09-22
fusheng535:
太强大了,学习了很多呀
2012-12-24
RayGis:
比较详细理解了~~
2012-10-29
kllihuang:
恩,这样子用图形说明数据结构,让我理解了哈哈,谢谢了
2011-10-11
其他资源
一键清除系统垃圾文件.bat
剑指offer第一版第二版纪念版pdf
完满的家政小程序
浙江理工大学2018-2019年历年研究生入学考试试卷,代码:928.pdf
《软件评测师教程》柳纯录主编.pdf
外挂源码c++vc冒险岛
灰色预测软件
opencv_contribxfeatures2dboostdesc
高校人事管理系统C++程序设计
Honeywell1900模拟串口驱动USB_Serial_Driver_r1.12
多媒体资源库
智能化小区网络工程设计方案
Linux常用C函数(中文版)
STM32的DS3231时钟芯片驱动串口测试程序
bash手册:对于那些想要学习Bash的人-源码
asp游戏宣告站整站法度圭表标准代码v13.1
UML精粹:标准对象建模语言简明指南(第三版UMLCHINA译).pdf
CPrimerPlus(第五版)中文版(PDF)
最全的LTE链路级仿真
HCNA-HNTD进阶培训教材V2.2
免责申明
【好快吧下载】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【好快吧下载】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【好快吧下载】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,8686821#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明
个人信息
点我去登录or注册
|
微信登录
一言
相关资源标签
热门下载
双系统双频伪距单点定位程序
Docker构建tomcat镜像jdk1.8+tomcat9.zip
中科院考博英语2009-2018年试题及答案解析(十五套436面).pdf
飘逸传世引擎源代码
ENVI去云补丁Haze_tool文件及其使用说明和安装方法
vue项目demo(asp.netmvc5+vue2.5)
R9390系列BIOS修改和风扇调速工具
新升级版TP5商城小程序源码+公众号版+h5一整套源码V3.zip
吉利新金刚2016款车机导航系统
CNS2_CN_VW_P0095D_0332.7z
HTML5+CSS3中文参考手册(3手册)chm版中文参考手册打包
几何画板课件350套.zip
ABAQUS金属非稳态和稳态切削过程的模拟分析_张东进.pdf
高光谱和LiDAR多模态遥感图像分类数据集
软件开发文档书写规范
最新下载
MVC编写的权限系统,有权限,角色,用户,还包括产品测试模块
天腾TTCE-M100产品说明
基于FPS200指纹采集系统的设计与实现
nacos-server-1.4.1.zip
网站目录遍历软件
知识表示方法
计算卫星角度程序,包括高度角、方位角
系统辨识理论及应用-萧德云高清.pdf版
timesat3.1
国密4算法的verilog实现
ShenzheniTestWLANFacilityUserManualV2.2英文版
ABB编程指令详解
Licecap最新版双平台.zip
FCM聚类算法实现图像分割
UnlockingthePowerofOPNETModeler