一、平衡二叉树

1. 存在的意义

当数组{1,2,3,4,5,6}进行二叉排序树排列时,其格式为:
image.png
image.png

2. 平衡二叉树的逻辑

平衡二叉树是在二叉排序树的基础上实现的。image.png

3. 左旋转

右旋转分析图.png

  1. //左旋转方法
  2. private void leftRotate() {
  3. //创建新的结点,以当前根结点的值
  4. Node newNode = new Node(value);
  5. //把新的结点的左子树设置成当前结点的左子树
  6. newNode.left = left;
  7. //把新的结点的右子树设置成带你过去结点的右子树的左子树
  8. newNode.right = right.left;
  9. //把当前结点的值替换成右子结点的值
  10. value = right.value;
  11. //把当前结点的右子树设置成当前结点右子树的右子树
  12. right = right.right;
  13. //把当前结点的左子树(左子结点)设置成新的结点
  14. left = newNode;
  15. }