高级数据结构之 红黑树 (Red-Black tree) 简介
红黑树是一种新的平衡二叉树 其使用率比AVL更宽
它是为了解决 有序二叉树 输入数据不够随机所引起左右子树
相差过大 而引入的一种新规则
每个结点都新增一个颜色域
过多的介绍请百度吧 很多的
红黑树 并非能保证结点绝对平衡 但由于红黑树的性质可知
其搜寻效率 几乎和 AVL相差无几 但其插入 删除效率却比AVL
高 所以 两者之间 其总体平均时间复杂度一样
这是一个泛型纯C语法实现的底层容器
能想到的接口 都已实现
并单独提供一个正向迭代器与反向迭代器
也提供了3种遍历方式 前中后序
参见测试用例
其维护红黑树性质的相关代码 几乎是句句含带注释
使用面向对象编程思想构建代码
并可在windows和linux下 c89标准编译通过
如果打印的中文出现乱码 请自行建一份文件 将代码copy过去,由于不用操作系统平台使用的字符集不同造成!
看代码以前 一定要详细了解红黑树理论! 对于新手来说 红黑树 比 普通二叉树 复杂太多
若有错误地方 欢迎指正!!!
补充 : 由于上次写的有序树 已经是泛型 就在此基础上直接加以修改 所以 还是叫bstree 但维护红黑性质的代码又定义为了RBNODE
参见 http://download.csdn.net/detail/ckeylg/7989899
浮曦若梦
- 粉丝: 3
- 资源: 3
最新资源
- 基于TypeScript的数据库实训平台前端设计源码
- 基于SSM框架与微信小程序的图书馆自习室座位预约管理系统设计源码
- 基于SL4J格式的C++日志管理设计源码
- 基于yolov3-tiny-bubbliiiing和Tkinter的实时物体检测界面设计源码
- 基于《JS DOM 编程艺术》(第2版)的JavaScript DOM编程设计源码学习
- ADASIS V2&V3协议
- 基于HTML、JavaScript等技术的全栈前端学习笔记设计源码
- 基于Vue的网易云音乐高仿设计源码
- 基于C语言的串口数据流处理库设计源码
- PTA实验和作业成绩.rar
- 基于SpringBoot+Vue的校园闲置物品租售平台设计源码
- 基于Vue3+AntDesign4的ivzone CRUD组件库及后台管理模板设计源码
- 基于EVE ESI的合同估价与吉他价格计算器设计源码
- 基于Vue-cli3的仿去哪儿旅行APP设计源码
- 基于Windows日志监听的SQLServer登录失败IP黑名单自动添加设计源码
- 基于Java和最新框架的在线课程教育系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈