数据结构之伸展树(Splay)--BST的变种
2015-08-25 15:51
246 查看
伸展树是二叉查找树的一种改进,和AVL不同的是,它不维持树的平衡,但对与树的一些操作,每次操作的均摊时间为O(log N),这是通过伸展树的一些特性保证的。
特点:伸展树将每次查找或者插入的数旋转到根节点,根据理论90%的操作作用于10%的数据,因此,将经常操作的数前移可以极大地提高插入,查找的效率。
伸展树与二叉查找树不同的是每次增删查找操作后需要进行spaly(x,S),它的含义是将x旋转到树S的根节点。具体有六种操作,
杨思雨的文章《伸展树的基本操作》详细解析到了伸展树的基本操作以及伸展树的应用。
特点:伸展树将每次查找或者插入的数旋转到根节点,根据理论90%的操作作用于10%的数据,因此,将经常操作的数前移可以极大地提高插入,查找的效率。
伸展树与二叉查找树不同的是每次增删查找操作后需要进行spaly(x,S),它的含义是将x旋转到树S的根节点。具体有六种操作,
杨思雨的文章《伸展树的基本操作》详细解析到了伸展树的基本操作以及伸展树的应用。
相关文章推荐
- 【数据结构&&等差数列】KMP简介和算法的实现(c++ && java)
- Java实现数据结构中的栈
- 数据结构--二叉搜索树
- 数据结构之AVL树---BST的变种
- 【数据结构】-串
- 【数据结构】-栈和队列
- 【数据结构】-线性表的链式存储结构
- 逆波兰表达式
- 【数据结构】-线性表的顺序表示和实现
- 数据结构习题记录-牛客网
- 我知道点redis-数据结构与对象(对象)-对象实现
- 使用不带头结点的循环链表实现队列(数据结构)
- 浙大公开课-数据结构-排序-笔记整理
- [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- Java实现数据结构与算法-顺序表
- ACM学习-割点和桥
- 数据结构(Java语言)——BinaryHeap简单实现
- 【数据结构】-基本概念和术语
- bzoj1588营业额统计
- 数据结构:循环队列(C语言实现)