一、理解逻辑
平衡二叉是有限制的二叉搜索树,满足平衡因子绝对值小于1的二叉搜索树是平衡二叉树。
平衡指的是树的左右两边的节点左右高度平衡,要求平衡因子处于规定范围
平衡因子:该节点的左高度-右高度,绝对值小于1
如何平衡化?旋转:左旋右旋
有四种类型:LL LR RR RL
备注:第一个L指的是左边失衡,导致失衡的最后一个节点是左子树/右子树
旋转操作:左旋右旋
(1)左旋
(2)右旋同理
二、敲代码
1、定义结构
2、定义树头
3、创建树头
4、插入元素到平衡树【部分代码与二分搜索树一模一样】
把插入的树找到正确位置并插入
更新每个节点的高度
计算当前节点的平衡因子
【左旋
1、备份根结点的右节点
2、备份节点的3、更新高度】
未完待续,,,