飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1240|回复: 29

[C/C++] 【国庆献礼】平衡树 AVL\红黑树 C++ 代码

[复制链接]

该用户从未签到

发表于 2022-10-1 17:52:12 | 显示全部楼层 |阅读模式
之前仅是想了解下为啥 STL 中选择了红黑树,而非 AVL,两者性能差异有多少。

抽空实现了一些平衡树的增删代码,包括:
AVL 根据节点高度的的递归调用版
AVL 根据平衡因子的递归调用版
AVL 非递归调用版(性能明显要比递归版有所提高)
RBT 递归调用版(包括两种思路的递归删除函数)
RBT 非递归调用版

经测试比对,AVL 的有序插入删除的效率并不比 set 差:
BalanceTree.png

AVL 有录一些视频,感兴趣的可以关注:
https://space.bilibili.com/1700469421

纯玩而已,红黑树后续有时间可能也会录制,随缘 ~

对增删函数做了一些校验排查,若您发现代码有BUG可随时联系我 ~


源码下载,回复可见:
游客,如果您要查看本帖隐藏内容请回复




评分

参与人数 2威望 +3 飘云币 +3 收起 理由
pdjfx + 1 + 1 感谢发布原创作品,PYG有你更精彩!
不破不立 + 2 + 2 感谢发布原创作品,PYG有你更精彩!

查看全部评分

  • TA的每日心情
    奋斗
    前天 00:17
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2022-10-1 22:46:52 | 显示全部楼层
    回复一下,学习副坛主的帖子
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 1735 天

    [LV.Master]伴坛终老

    发表于 2022-10-2 06:23:08 | 显示全部楼层
    收到源码,收藏学习,谢谢校长
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 22:20
  • 签到天数: 1193 天

    [LV.10]以坛为家III

    发表于 2022-10-2 11:01:59 | 显示全部楼层
    感谢楼主分享代码
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2022-9-4 21:29
  • 签到天数: 1756 天

    [LV.Master]伴坛终老

    发表于 2022-10-2 13:59:15 | 显示全部楼层
    感谢大神分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    半小时前
  • 签到天数: 40 天

    [LV.5]常住居民I

    发表于 2022-10-2 16:55:05 | 显示全部楼层
    大佬,牛牛牛,围观围观
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 00:59
  • 签到天数: 995 天

    [LV.10]以坛为家III

    发表于 2022-10-2 18:24:36 | 显示全部楼层
    虽然看不明白但是要感谢楼主分享代码
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    小黑屋|手机版|Archiver|粤公网安备 44010602010026号|飘云阁安全论坛 ( 粤ICP备15107817号-2 )

    Powered by Discuz! Copyright © 2001-2022, Tencent Cloud.

    快速回复 返回顶部 返回列表