AVL树和伸展树的比较

 
  AVL树 伸展树
进行方式 每次插入进行旋转,保证每个节点的子树高度相差最多为1(根节点为0)
每次检索某个节点,进行旋转,保证可能经常需要检索的节点深度不为logN,
平均检索M次的平均时间为MlogN
单旋转
插入位置和最近不平衡结点成一字型,
对插入位置的父节点进行单旋转

 

插入位置和根节点距离为1
对根节点进行单旋转

 

双旋转
插入位置和最近不平衡位置成之字型,
先对插入位置的父节点进行单旋转
在对祖父节点(不平衡结点)进行单旋转

 

插入位置与祖父节点成一字型,进行同向双旋转
第一次旋转,针对插入位置的父节点
第二次旋转,针对插入位置的祖父节点(一次旋转后,当前插入元素的父节点)

 

插入位置与祖父节点成一字型,进行反向双旋转
第一次旋转,针对插入位置的父节点
第二次旋转,针对插入位置的祖父节点(一次旋转后,当前插入元素的父节点)

 

posted @ 2017-09-17 17:10  赵安之  阅读(560)  评论(0编辑  收藏  举报