更新时间:2023-10-23 来源:黑马程序员 浏览量:
二叉查找树的作用是提高检索数据的性能, 小的存左边,大的存右边,一样的不存。但出现瘸子现象,导致查询的性能与单链表一样,拉低查询速度。
这时候需要用到平衡二叉树,在满足查找二叉树的大小规则下,让树尽可能矮小,以此提高查数据的性能。
什么是平衡二叉树
可以从以下二叉树中找到平衡二叉树的特点,任意节点的左右两个子树的高度差不超过1,任意节点的左右两个子树都是一颗平衡二叉树。
平衡二叉树在添加元素后可能导致不平衡,基本策略是进行左旋,或者右旋保证平衡。旋转可能出现的四种情况:
• 左左
• 左右
• 右右
• 右左
平衡二叉树-左左
当根节点左子树的左子树有节点插入,导致二叉树不平衡。
平衡二叉树-左右
当根节点左子树的右子树有节点插入,导致二叉树不平衡
平衡二叉树-右右
当根节点右子树的右子树有节点插入,导致二叉树不平衡
平衡二叉树-右左
当根节点右子树的左子树有节点插入,导致二叉树不平衡
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19