二叉树
二叉查找(搜索)树
平衡二叉树(AVL-树)
借助工具:Data Structure Visualization
1,二叉树
度为2的树(也可称之为阶):(树的度:树中所有结点中最大的度。结点的度:结点的子树个数)
子树有左右顺序之分:
2,二叉查找(搜索)树
二叉查找树首先肯定是个二叉树,除此之外还符合以下几点:
-
左子树的所有的值小于根节点的值
-
右子树的所有的值大于或等于根节点的值
-
左、右子树满足以上两点
但是二叉查找树,如果设计不良,完全可以变成一颗极不平衡的二叉查找树:
因此若想最大性能地构造一棵二叉查找树,需要这棵二叉查找树是平衡的,从而引出了新的定义——平衡二叉树,或称为AVL树。
3,平衡二叉树(AVL-树)
它是一棵二叉排序树,它的左右两个子树的高度差(平衡因子)的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。
目的:使得树的高度最低,因为树查找的效率决定于树的高度
平衡二叉树的查找性能是比较高的,但是维护一棵平衡二叉树的代价是非常大的。通常来说,需要1次或多次左旋和右旋来得到插入、更新和删除后树的平衡性。