首页
熊猫办公下载
文件下载
根据地址查询经纬度
登录 / 注册
首页
开发技术
其它
/ 二叉树排序树建立及平衡处理
二叉树排序树建立及平衡处理
上传者:
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
其他资源
Android课程设计--便捷通讯录
【OPENGL】opengl衡宇方案2
storm实战笔记
51单片机仿真方法详细说明
分形算法与程序设计——VisualBasic实现--光盘文件
Memristor忆阻器
CURL&python;实现geoserver半自动发布服务
Android项目实战——手机安全卫士开辟案例解析(随书代码文件)
2012年1月高等教育自学考试全国统一命题考试数据库及其使用试题及答案.docx
基于区块链的智能用电云服务模式分析
cadence放大器模拟测试参数教程
一个简单的基于数字水印的图像鉴定方法
matlab量子粒子群算法的函数寻优,很详细注解,可运行
LMS自顺应滤波器MATLAB实现
DICOM3DSDK.rar
9CCMS.zip(久草CMS)
HR911105A网络接头数据手册
进程分析管理工具.zip
基于CCD虚拟针孔探测的双轴共焦显微技术
2018华为网络技术大赛上级试题A卷ensp
免责申明
【好快吧下载】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【好快吧下载】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【好快吧下载】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,8686821#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明
个人信息
点我去登录or注册
|
微信登录
一言
相关资源标签
热门下载
双系统双频伪距单点定位程序
Docker构建tomcat镜像jdk1.8+tomcat9.zip
飘逸传世引擎源代码
中科院考博英语2009-2018年试题及答案解析(十五套436面).pdf
ABAQUS金属非稳态和稳态切削过程的模拟分析_张东进.pdf
vue项目demo(asp.netmvc5+vue2.5)
高光谱和LiDAR多模态遥感图像分类数据集
CNS2_CN_VW_P0095D_0332.7z
ENVI去云补丁Haze_tool文件及其使用说明和安装方法
HTML5+CSS3中文参考手册(3手册)chm版中文参考手册打包
KEPServerEXV6.7.zip
几何画板课件350套.zip
R9390系列BIOS修改和风扇调速工具
新升级版TP5商城小程序源码+公众号版+h5一整套源码V3.zip
吉利新金刚2016款车机导航系统
最新下载
Mann_KendallIDL程序实现
李宏毅-机器学习(视频2017完整)
rename_batch.zip
SQL2KSP4补丁
基于STM32车牌识别程序_带管理计费
帕金森患者音频数据库
《MATLAB图像与视频处理实用案例详解》完整版书籍(含代码).zip
检索COM类工厂中CLSID为{96749377-3391-11D2-9EE3-00C04F797396}的组件失败,没有注册类问题分析和解决办法
opencv4.0调用TensorFlow实现maskrcnn的训练数据集
anavidya.github.io-源码
合肥工业大学数据结构ppt(胡学钢)
齐敏等.模式识别导论ppt
CMake中文手册.pdf
研磨设计模式书-配套源代码(全)
C#-PDF阅读器-源码