原文:伸展树

伸展树 Splay Tree 树平衡二叉查找树的一种,具有二叉查找树的所有性质。在性能上又比普通的二叉查找树有所改进:普通的二叉查找树在最坏情况下的查找操作的时间复杂度为O n 当二叉树退化成一条链的时候 ,而伸展树在任何情况下的平摊时间复杂度均为 O log n . 特性 和普通的二叉查找树相比,具有任何情况下 任何操作的平摊O log n 的复杂度,时间性能上更好 和一般的平衡二叉树比如 红黑 ...

2015-08-05 22:51 1 2592 推荐指数:

查看详情

伸展详解及实现

  我们讨论过,的搜索效率与的深度有关。二叉搜索的深度可能为n,这种情况下,每次搜索的复杂度为n的量级。AVL通过动态平衡的深度,单次搜索的复杂度为log(n)。我们下面看伸展(splay tree),它对于m次连续搜索操作有很好的效率。伸展会在一次搜索后,对进行一些特殊的操作 ...

Thu May 19 02:53:00 CST 2016 0 1902
【总结】伸展

伸展是一枚二叉树,可以维护一个数列,或者可以作为二叉搜索,因为无论怎么旋转,它的中序遍历是不变的。 1、伸展操作。 Splay(x,goal):旋转结点x,使它成为结点goal的儿子。 至于旋转,本质上只有左旋和右旋。 2、插入。 如果作为二叉搜索,则插入与二叉搜索 ...

Tue Aug 21 07:02:00 CST 2012 0 3169
伸展(三)之 Java的实现

概要 前面分别通过C和C++实现了伸展,本章给出伸展的Java版本。基本算法和原理都与前两章一样。1. 伸展的介绍2. 伸展的Java实现(完整源码)3. 伸展的Java测试程序 转载请注明出处:http://www.cnblogs.com/skywang12345/p ...

Wed Apr 02 06:18:00 CST 2014 7 7616
【转】【伸展Splay Tree】

作者: Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及 版权声明 网址: http://dongxicheng.org/structure/splay-tree/ 1、 概述 二叉查找(Binary Search Tree,也叫二叉排序 ...

Sun Oct 07 23:21:00 CST 2012 4 7210
伸展(二)之 C++的实现

概要 上一章介绍了伸展的基本概念,并通过C语言实现了伸展。本章是伸展的C++实现,后续再给出Java版本。还是那句老话,它们的原理都一样,择其一了解即可。 目录1. 伸展的介绍2. 伸展的C++实现(完整源码)3. 伸展的C++测试程序 转载请注明出处:http ...

Tue Apr 01 17:34:00 CST 2014 2 4733
Splay Tree(伸展总结)

伸展是比较神奇的,它可以做很多线段不能实现的事情。 最近做伸展做了好长时间了,现在重新把题目整理下,代码统一些一下呢。说明多是含在代码的注释中。 刚开始学,可以看论文,然后按照别人的代码去写。 我是参照cxlove大神学习的:http://blog.csdn.net ...

Mon Apr 22 01:26:00 CST 2013 0 3991
Splay伸展学习笔记

Splay伸展 有篇Splay入门必看文章 —— CSDN链接 经典引文 空间效率:O(n) 时间效率:O(log n)插入、查找、删除 创造者:Daniel Sleator 和 Robert Tarjan 优点:每次查询会调整的结构,使被查 ...

Fri Dec 09 07:15:00 CST 2016 2 8401
Splay Tree(伸展)详解

Splay Tree(伸展) 简介 Splay Tree是一种二叉查找(BST),即满足二叉树上任意一个节点的左儿子权值>自身权值>右儿子权值,它通过旋转操作使得树上单次操作的均摊复杂度为 \(\log n\),由Daniel Sleator和Robert Endre ...

Wed Oct 20 15:59:00 CST 2021 1 3297
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM