1、求解求解问题问题更简单方便更简单方便另一种表现另一种表现另一个问题另一个问题( )( )( )( log )( )( log )sortscanT nTnTnO nnO nO nn 21( )(1.).(11nknT nkn ( )( )( )( log( lo)l g)o)g(sortscanT nTnTnO nnnnOOn10520427812101101 00AVL树树10520427820011 00非非AVL树,树,BST102R(3)32132100012301 2 L(1)321000321L(1)312201 321000R(3)12 2031R(3)12 3021 32100
2、0L(1)R(w)21eT1T2T311ewT3T2T100wkT4T3T1eT2121 1 L(e)wkT4T3T1eT21220orwkT4T3T1eT21220wkT4T3T1eT201 0R(w)它是它是BST,效率与,效率与BST一样取决于树高:一样取决于树高: 频繁的旋转、维护树节点平衡,设计上较复杂,尤其是频繁的旋转、维护树节点平衡,设计上较复杂,尤其是 删除操作,妨碍了其应用。但蕴涵的思想使人们发现了删除操作,妨碍了其应用。但蕴涵的思想使人们发现了 BST 的其他变种。的其他变种。22log1.4405log (2)1.3277nnhKK K K1 , K2K1 K2 K1,
3、K2,95, ,99589,5分裂,提升分裂,提升892,3,5,89253,892,53,8924, ,83524793, ,89247,892,59,58,8951k=23456789 1011 12( )/22( )22( )21 21( )1 3( )11Parent kkknLChild kkknRChild kkknLSibling kkknRSibling kkkn k奇数奇数k偶数偶数1075421107541105411. 树高树高 2. H0 为空,或放置最大限位器为空,或放置最大限位器3. 父母优势(兄弟节点没有关系)父母优势(兄弟节点没有关系)2log n22 ,/ 2
4、max1kkkHHHkn 左左子子女女右右子子女女1075421 构造一棵满足父母优势的完全二叉树构造一棵满足父母优势的完全二叉树2956898567298567285679285679685271. 21()/ 21, ()()2()(1 )1(), fordowntodowhile notaHnvkjnnddoififHeapValueExchangeinkiH kheapFALSEheapnjkH jjvH jH kHHjjheaipfelsTRUEHkkjjve 注释:父节点下推过程中注释:父节点下推过程中值不变值不变。把它理解。把它理解为空节点,与较大子节点交换键值,直到空为空节点,
5、与较大子节点交换键值,直到空节点到达它的最后位置,再把抹去的值还给节点到达它的最后位置,再把抹去的值还给它。它。110110( )2()2222222hhkkkkhhkkT nhkhkh 2hhh 12222(2)2(log (1),21log (1)102hnnnnnn 112(1)22niniin 9685279652786952785 652652612297568完全二叉树的数组完全二叉树的数组 Hk= 2,9,7,6,5,8 内部节点内部节点叶节点叶节点结果数组为升序结果数组为升序待解问题待解问题已知求解算法已知求解算法A(,),(,),(,)iijjkki xyj xyk xy1101iiijkjjkkxyAxyxy kijxy(, )(, )mnlcm m ngcd m n max( )min( )f xf xx( )f x*x( *)f x( *)f x 11011nkkknkkkkxf xv xw xWkn max( ), ,.,11110nkknkkkkkxf xWvxkxwn ( ),.m x.,a