AVL平衡二叉查询树-分分钟钟被安排地明明白白

Kamilia ·
更新时间:2024-11-13
· 744 次阅读

AVL树,是带有平衡条件(balance condition) 的二叉查询树。其平衡条件是每个节点的左子树和右子树的高度最多差1的二叉查询树(空树的高度定位-1)。树的高度是指,该树到一片叶子节点的最长路径的长。

当对AVL树进行插入,或者删除操作时,由于可能会破坏AVL树的平衡条件,为了能够在插入或删除操作完成后,继续保证AVL树的平衡,需要对AVL树进行旋转(retation)。通常就是包括单旋转双旋转两种情况。

单旋转

节点的左儿子节点,左子树添加新的节点的场景。示例,如图:

节点的右儿子,右子树添加新的节点的场景,示例,如图:

双旋转

节点的左儿子,右子树添加节点的场景,示例如图:

节点的右儿子,左子树添加节点的场景,示例如图:


作者:iloveoverfly



avl

需要 登录 后方可回复, 如果你还没有账号请 注册新账号