伸展树的设计思路,鉴于数据访问的局部性(28原则)在实际应用中普遍存在,将按照“最常用者优先”的启发策略。尽管在最坏情况下其单次操作需要 O(n)O(n) 时间,但分摊而言仍然 O(logn)O(\log n) 以内。

与 AVL 树一样,伸展树也是平衡二叉搜索树的一种实现。

  • 伸展树的实现更为简洁;

    • 伸展树无需时刻都严格地保持全树的平衡(设计的思路在于 AVL 的条件是不是太苛刻了),但却能够在任何足够长的真实操作序列中,保持分摊意义上的高效率。
  • 伸展树也不需要对基本的二叉树结点结构,做任何附加的要求和改动;

  • 更不需要记录平衡因子或高度子类的额外信息。

伸展树(splay tree)相关推荐

  1. 伸展树(Splay tree)图解与实现

    伸展树(Splay tree)图解与实现 伸展树(Splay tree)图解与实现_小张的专栏-CSDN博客_splay树 Splay树详解 Splay树详解 - 秦淮岸灯火阑珊 - 博客园 平衡树 ...

  2. splay tree java_伸展树(splay tree)自顶向下的算法

    伸展树(splay tree)是一种能自我调整的二叉搜索树(BST).虽然某一次的访问操作所花费的时间比较长,但是平摊(amortized) 之后的访问操作(例如旋转)时间能达到O(logn)的复杂度 ...

  3. 伸展树(Splay tree)浅谈

    树看的越来越多,越来越神奇. 看伸展树这种神级数据结构之前,建议大家首先彻底明白二叉搜索树,这是万树的基础. 然后可以去看下treap,最好再去看下红黑树.如果有线段树的基础那更好了,我们会发现线段树 ...

  4. 伸展树 Splay 模板

    学习Splay的时候参考了很多不同的资料,然而参考资料太杂的后果就是模板调出来一直都有问题,尤其是最后发现网上找的各种资料均有不同程度的错误. 好在啃了几天之后终于算是啃下来了. Splay也算是平衡 ...

  5. [学习笔记] 伸展树splay详解+全套模板+例题[Luogu P3369 【模板】普通平衡树]

    文章目录 引入概念 全套模板 变量声明 update ==rotate旋转== splay操作 insert插入 delete删除 查找x的位置 查找第k大 前驱/后继 极小值-inf和极大值inf的 ...

  6. [Splay伸展树]splay树入门级教程

    首先声明,本教程的对象是完全没有接触过splay的OIer,大牛请右上角.. 首先引入一下splay的概念,他的中文名是伸展树,意思差不多就是可以随意翻转的二叉树 PS:百度百科中伸展树读作:BoGa ...

  7. sgu 187 Twist and whirl - want to cheat 伸展树(splay)

    裸的区间翻转..直接写个splay就行... #include <iostream> #include <cstdio> #include <algorithm> ...

  8. AVL树、splay树(伸展树)和红黑树比较

    AVL树.splay树(伸展树)和红黑树比较 一.AVL树: 优点:查找.插入和删除,最坏复杂度均为O(logN).实现操作简单 如过是随机插入或者删除,其理论上可以得到O(logN)的复杂度,但是实 ...

  9. PHP算法 《树形结构》 之 伸展树(1) - 基本概念

    伸展树的介绍 1.出处:http://dongxicheng.org/structure/splay-tree/ A. 概述 二叉查找树(Binary Search Tree,也叫二叉排序树,即Bin ...

  10. 【题集】AVL树、伸展树、红黑树、二叉查找树、替罪羊树的时间复杂度

    目录 1. AVL树 2.伸展树 3.红黑树 4.二叉查找树 5.替罪羊树 1. AVL树 AVL树是最先发明的自平衡二叉查找树.在AVL树中任何节点的两个子树的高度最大差别为一,所以它也被称为高度平 ...

最新文章

  1. Squid 反向代理服务器配置
  2. 【效率】来了!Github 终于上线收藏夹了
  3. 中国人自己的框架——蚂蚁金服RPC框架结构分析
  4. ubuntu chmod更改权限
  5. java 8 io_Java IO8:IO简单总结
  6. Oracle GoldenGate微服务架构
  7. 李维说他跳槽了,那我以后也不是Borland的Fans了?
  8. VMware vSphere Hypervisor (ESXi) 6.7 U3(转载)
  9. 一起谈.NET技术,Linq学习笔记
  10. python html转图片失真_html dom 转化成图片踩坑记(canvas toDataURL)
  11. Android Export时错误提示:Conversion to Dalvik format failed with error 1
  12. swf文件的反编译或着flash文件的反编译
  13. vs2018 设置了包含路径还是提示说打不开头文件
  14. C语言进阶(一):宏函数内定义结构体
  15. 搭建Terraria服务器[Centos7/LGSM/泰拉瑞亚]
  16. 系统管理、系统安全命令
  17. vue集成阿里云Aliplayer直播点播组件
  18. 戴尔游匣7559更换C面和D面以及升级内存硬盘教程
  19. JavaWeb的项目设计思路
  20. 为什么令牌不是基于“所知”

热门文章

  1. 【java学习之路】(javaWeb【后端】篇)002.Servlet
  2. linux中.开头的变量,linux中的变量
  3. oracle数据库王珊,数据库系统概论 王珊 教材部分总结
  4. valuable的用法_词汇精选:valuable的用法和辨析
  5. Linux基础——怎么样用 TeamViewer 和 VNC 从远程控制电脑
  6. 强烈建议有孩子的看看
  7. C语言新手写扫雷攻略1
  8. css关键字unset
  9. p1186反素数(模板题)
  10. function与感叹号