zoukankan      html  css  js  c++  java
  • 每天进步一点点之平衡二叉树的平衡调整

    1,由平衡二叉树(AVL)的定义可知,左右子树的高度差绝对值不超过1,当插入一个新的元素时极有可能破坏原有的平衡性。

    2,平衡调整算法:

      a,LL平衡旋转:结点A的左孩子的左子树上插入新结点,导致A失衡。需要将树右旋调整。选取三个结点的中值,将其放中间,开始调整。

      b,RR平衡旋转:结点A的右孩子的右子树上插入新结点,导致A失衡。需要将树左旋调整。选取三个结点的中值,将其放中间,开始调整。

      c,LR平衡旋转:结点A的左孩子的右子树上插入新结点,导致A失衡,需要进行2次旋转操作。选取三个结点的中值,将其放中间,开始调整。

      d,RL平衡旋转:结点A的右孩子的左子树上插入新结点,导致A失衡,需要进行2次旋转操作。选取三个结点的中值,将其放中间,开始调整。

    3,N个结点的平衡二叉树的平均查找次数为log2N。

          N个结点的二叉排序树的平均查找次数为log2(N+1)-1。

        

  • 相关阅读:
    Python中 sys.argv[]的用法简明解释
    python多线程
    python 多进程
    shell----bash
    linux crontab
    Elastic search 概述
    Elastic search 入门
    Elastic search CURL命令
    Elastic search 基本使用
    Elastic search 字段折叠 collaose
  • 原文地址:https://www.cnblogs.com/lixiangfu/p/13347683.html
Copyright © 2011-2022 走看看