首页 > 其他 > 详细

associative containers

时间:2021-05-15 20:17:13      阅读:30      评论:0      收藏:0      [点我收藏+]

技术分享图片

二叉树基本概念

技术分享图片

二叉搜索树

技术分享图片

插入操作

删除操作

技术分享图片

AVL 树

AVL 树插入节点,破坏平衡:
技术分享图片

单旋
技术分享图片

双旋
技术分享图片

红黑树

技术分享图片

插入操作

假设 RB-Tree 插入 4 个新节点:3,8,35,75
技术分享图片

根据红黑树的要求:

  • 新插入节点应该是红色
  • 新插入节点的父节点应该是黑色

如果插入后不满足上述条件,则要调整颜色和旋转

定义一些名称:

  • X:插入节点
  • P:X 的父节点
  • G:X 的祖父节点
  • S:X 的伯父节点,即父节点的兄弟
  • GG:X 的祖父节点

情况1:S 为黑且X为外侧插入

  • P、G 单旋转
  • 更改 P、G 的颜色
    技术分享图片

情况2:S 为黑且X为内侧插入

  • P、X 单旋转
  • 更改 G、X 的颜色
  • G 单旋转
    技术分享图片

情况3:S 为红且X为外侧插入

  • P 、G 单旋转
  • 如果此时 GG 是黑色,则结束,如果 GG 是红色问题转为情况4

技术分享图片

情况4:S 为红且X为内侧插入

  • P、G 单旋转
  • 改 X 的颜色
  • 如果 GG 是红色,继续向上,直到不再有父子连续是红色

技术分享图片

红黑树迭代器

技术分享图片

hash 表

解决碰撞

线性探测

技术分享图片

二次探测

技术分享图片

开链法

技术分享图片

associative containers

原文:https://www.cnblogs.com/xiaojianliu/p/14771930.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!