阶段二22_面向对象高级_集合4
知识点:
(1)平衡二叉树概念
一. 数据结构
1.平衡二叉树
二叉树左右两个子树的高度差不超过1 任意节点的左右两个子树都是一颗平衡二叉树
2.平衡二叉树-旋转
(1)平衡二叉树-旋转,触发时机: 当添加一个节点之后,该树不再是一颗平衡二叉树
(2)左旋 最简单左旋图:
复杂左旋图:
左旋:就是将根节点的右侧往左拉,原先的右子节点变成新的父节点,并把多余的左子节点出让,给已经降级的根节点当右子节点[多余左放到降级右子节点]
(3)右旋 复杂右旋图:
右旋:将根节点的左侧往右拉,左子节点变成了新的父节点,并把多余的右子节点出让,给已经降级根节点当左子节点[多余右放到降级左子节点]
(4)左左 当根节点左子树的左子树有节点插入,导致二叉树不平衡[右旋]
(5)左右 当根节点左子树的右子树有节点插入,导致二叉树不平衡[左旋在向右旋转]
(6)右右 当根节点右子树的右子树有节点插入,导致二叉树不平衡[左旋] (7)右左 当根节点右子树的左子树有节点插入,导致二叉树不平衡[右旋在向左旋转]