平衡二叉搜索树

王朝百科·作者佚名  2010-06-17  
宽屏版  字体: |||超大  

任何结点的左子树和右子树高度最多相差1的二叉搜索树。

(1)AVL树的插入算法

a. 插入结点之后仍然是AVL树,则不调整;

b. 插入结点之后不再满足AVL树条件,则进行调整,根据导致不平衡的原因,分为:

a) LL型――单旋转调整

b) LR型――双旋转调整

c) RL型――双旋转调整

d) RR型――单旋转调整

下图是顺序插入单词{cup,cop,copy,hit,hi,his,hia}后得到的AVL树,单词之间按照字典顺序比较:

(2)AVL树的删除算法

a. 删除过程如BST结点的删除算法(教材算法4.16);

b. 删除后调整――从被删除的结点找到祖父结点,然后开始单旋转或多旋转操作,一次旋转结束并不 意味着树已经平衡,因为这可能会导致它的祖先结点发生新的不平衡。所以这样的调整操作要一直进行下去,直到树平衡为止。

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有