博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

伸展树

Posted on 2009-11-13 21:46  little健健  阅读(267)  评论(0编辑  收藏  举报

1.基本想法:当一个节点被访问后,他就要经过一系列AVL树旋转被放到根上

2.从空树开始任意连续M次对树的操作最多花费O(M log N)

3.不要求保留高度或平衡信息

4展开

(1)从底部向上沿着访问路径旋转

(2)if {X的父节点是树根}

             {旋转X和根节点}

         else if    {X向上子孙三代是之字形}

                    {AVL旋转}

          else   {LL转或RR转}    (这是X向上子孙三代是一字形)

           

习题一题

Show the result of accessing the keys 3, 9, 1, 5 in order in the splay tree

 


结果: