二叉树

二叉树

  • 只有一个根节点
  • 每个根节点至多有两个子节点
二叉树.png

查找二叉树

  • 满足二叉树全部定义
  • 当前节点的任意左子节点必须小于自身,任意右子节点需大于自身
查找二叉树.png

平衡查找二叉树(AVL)

  • 满足查找二叉树的全部定义
  • 左右子树高度差不得超过1
  • 不满足第二点时进行旋转
平衡查找二叉树.png

旋转类型

左旋
左旋.png
右旋
右旋.png

失衡情况

左左失衡 (右旋)

参考右旋

左右失衡 (先左旋 再右旋)
左右失衡.png
右右失衡(左旋)

参考左旋图

右左失衡(先右旋 再左旋)
右左失衡.png

红黑树

  • 弱平衡查找二叉树(不要求满足高度差<=1)
  • 每个节点或者是黑色,或者是红色
  • 根节点是黑色。
  • 每个叶子节点是黑色,叶子节点是NIL。
  • 如果一个节点是红色的,则它的子节点必须是黑色的。
  • 从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容