AVL树

    xiaoxiao2026-09-11  2

    先说说几种特殊树及其应用场景:

    AVL树:最早的平衡二叉树之一。应用相对其他数据结构比较少。windows对进程地址空间的管理用到了AVL树。红黑树:平衡二叉树,广泛用在C++的STL中。map和set都是用红黑树实现的。参见博客:http://blog.csdn.net/v_JULY_v/article/details/6105630B/B+树:用在磁盘文件组织、 数据索引和数据库索引。Trie树:字典树,用在统计和排序大量字符串。

    基本概念

    AVL树本质上还是一棵二叉搜索树。 递归定义:

    左右子树均为AVL树 左右子树的高度差的绝对值不超过1

    提出AVL的背景:

    当二叉查找树的节点序列为:1,2,3,4,5,6时,其树结构等同于一个链表。查找一个结点的时间复杂度是O(N),而AVL树的查找平均时间复杂度是O(logN)。

    AVL树查找、插入和删除在平均和最坏情况下都是O(log n)。查找和删除可能需要通过一次或多次树旋转来重新平衡这个树。平衡调整过程主要包含四种旋转操作:LL,LR,RR,RL 。

    转载请注明原文地址: https://ju.6miu.com/read-1311967.html
    最新回复(0)