zl程序教程

您现在的位置是:首页 >  后端

当前栏目

什么是平衡二叉树?

二叉树 什么 平衡
2023-09-27 14:29:28 时间

什么是平衡二叉树?

任意节点子树的高度差都小于等于1

1.右旋公式

  • 创建一个根节点,值等于当前根节点的值
  • 把新节点的右子树设置成当前节点的右子树
  • 把新节点的左子树设置成当前节点的左子树的右子树
  • 把当前节点的值换位左子节点的值
  • 把当前节点的左子树设置成左子树的左子树
  • 把当前节点的右子树设置为新节点

image-20211121190046084

image-20211121190051549

2.左旋公式

  • 创建一个新节点,值等于当前节点的值
  • 把新节点的左子树设置成当前节点的左子树
  • 把新节点的右子树设置位当前节点的右子树的左子树
  • 把当前节点的值换位右子节点的值
  • 把当前节点的右子树,设置为右子树的右子树
  • 把当前节点的左子树设置为新节点

image-20211121190112643

image-20211121190118406

3.双旋转

  • 符合右旋转的条件
  • 当前节点的左子树的右子树高度,大于当前节点的左子树的左子树
  • 对当前节点的左孩子进行左旋
  • 再对当前节点进行右旋

image-20211121190143586

image-20211121190147175