美文网首页
平衡二叉排序树(AVL树)

平衡二叉排序树(AVL树)

作者: Aaron_Swartz | 来源:发表于2019-01-20 12:15 被阅读0次

    关于平衡二叉树了解的还是太少,遂记录如下。

    • AVL树的前世今生:二叉搜索树(Binary Search Tree)

    二叉搜索树,是因为这种二叉树能大幅度提高搜索效率。如果一个二叉树满足:对于任意一个节点,其值不小于左子树的任何节点,且不大于右子树的任何节点(反之亦可),则为二叉搜索树。BST如果按照中序排序的话是一个有序序列。BST的平均查找时间复杂度为O(logn),但是极端情况下,假如一开始建树的时候是有序序列,那么查找时间复杂度可以到O(n), 构建树的时间复杂度为O(nlogn),为了解决这一问题,引人AVL tree。从此我们的主人公开始登场。

    • AVL树的优势

    由于AVL tree要求左右子树的高度差不大于1,因此这就保证了在建树时不会出现树退化为链表的情形。查找的时间复杂度可以保证为O(logn), 建树时间复杂度依然为O(nlogn)。

    • AVL树的建树过程
      主要问题:当二叉排序树不平衡时有几种情形,具体是通过什么方法使树平衡?是否有可以借鉴的规律?
      具体参考1

    参考:
    1 看图说话之平衡二叉排序树(AVL树)

    相关文章

      网友评论

          本文标题:平衡二叉排序树(AVL树)

          本文链接:https://www.haomeiwen.com/subject/zslxjqtx.html