Splay入门 [TOC] BST与Splay 二叉查找树( BST ),保证任意节点的左儿子小于其父亲,任意节点的右儿子大于其父亲的二叉树。但是当出现毒瘤数据时,BST会退化为链,从而影响效率。而Splay是其中的一种比较 万能 的填坑方法。 Rotate Splay基本旋转操作。在不破坏二叉查找 ...
分类:
其他好文 时间:
2018-11-24 14:04:43
阅读次数:
249
B树 中所有的叶节点都在同一层 2-3树也是B树一种 有两个子节点的节点叫二节点 二节点要么有两个子节点,要么没有子节点 有三个子节点的节点叫三节点 三节点要么有三个子节点,要么没有子节点 B树::: B+树::: 应用在:MySql数据库中存储数据,使用B树和B+树。。。。 ...
分类:
其他好文 时间:
2018-11-23 23:28:40
阅读次数:
217
一. 二叉树基本概念 在计算机科学中,二叉树是每个结点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用于实现二叉查找树和二叉堆。二叉树是每个结点最多有两个子树的树结构。它有五种基本形态:二叉树可以是空集;根可以有空的 ...
分类:
其他好文 时间:
2018-11-22 00:20:57
阅读次数:
232
我们知道,二叉查找树能够支持多种动态集合操作,因此在程序设计竞赛中,二叉查找树起着非常重要的作用,它可以用来表示有序集合,建立索引或优先队列等。作用于二叉树的基本操作时间是与树的高度成正比的:对于一颗含n个节点的二叉查找树,如果呈完全二叉树结构,则这些操作的最坏情况的运行时间为O(log2 n); ...
分类:
其他好文 时间:
2018-11-21 22:22:46
阅读次数:
253
树 | :由 一个根结点 和 N个子结点 及 连接线 构成,任意结点间不构成回路 | 二叉树 | :树的一种,且任意结点最多只能有两个子结点 | | 完美二叉树:满足h层二叉树的最大结点树 | | 完全二叉树:在完美二叉树的基础上,做减法。最下一层从右到左依次去掉多个结点。【1、必须依次去掉 2、全 ...
分类:
其他好文 时间:
2018-11-21 12:21:52
阅读次数:
172
$BST$ 二叉查找树,首先它是一颗二叉树,其次它里面每个点都满足以该点左儿子为根的子树里结点的值都小于自己的值,以该点右儿子为根的子树里结点的值都大于自己的值。如果不进行修改,每次查询都是$O(logn)$的。 $Splay$ $splay$是一种支持旋转的二叉查找树,由于旋转可以维护它的深度,使 ...
分类:
其他好文 时间:
2018-11-18 22:34:08
阅读次数:
249
阅读目录 1. 二叉树 2. 二叉查找树 3. 平衡二叉树 3.1 平衡查找树之AVL树 3.2 平衡二叉树之红黑树 4. B树 5. B+树 6. B*树 7. Trie树 阅读目录 1. 二叉树 2. 二叉查找树 3. 平衡二叉树 3.1 平衡查找树之AVL树 3.2 平衡二叉树之红黑树 4. ...
分类:
其他好文 时间:
2018-11-13 17:14:30
阅读次数:
146
B+树 B+树是B树的一种变体,也属于平衡多路查找树,大体结构与B树相同,包含根节点、内部节点和叶子节点。多用于数据库和操作系统的文件系统中,由于B+树内部节点不保存数据,所以能在内存中存放更多索引,增加缓存命中率。另外因为叶子节点相连遍历操作很方便,而且数据也具有顺序性,便于区间查找。 B+树特点 ...
分类:
编程语言 时间:
2018-11-12 14:57:33
阅读次数:
159
B树 B树即平衡查找树,一般理解为平衡多路查找树,也称为B-树、B_树。是一种自平衡树状数据结构,能对存储的数据进行O(log n)的时间复杂度进行查找、插入和删除。B树一般较多用在存储系统上,比如数据库或文件系统。 B树特点 B树可以定义一个m值作为预定范围,即m路(阶)B树。 每个节点最多有m个 ...
分类:
编程语言 时间:
2018-11-12 14:52:57
阅读次数:
103
Trie树 Trie树,是一种搜索树,也称字典树或单词查找树,此外也称前缀树,因为某节点的后代存在共同的前缀。它的key都为字符串,能做到高效查询和插入,时间复杂度为O(k),k为字符串长度,缺点是如果大量字符串没有共同前缀时很耗内存。它的核心思想就是减少没必要的字符比较,使查询高效率,即用空间换时 ...
分类:
编程语言 时间:
2018-11-12 14:51:35
阅读次数:
148