1 .B-树定义 B-树是一种平衡的多路查找树,它在文件系统中很有用。 定义:一棵m 阶的B-树,或者为空树,或为满足下列特性的m 叉树:⑴树中每个结点至多有m 棵子树;⑵若根结点不是叶子结点,则至少有两棵子树; ⑶除根结点之外的所有非终端结点至少有[m/2] 棵子树;⑷所有的非终端结点中包含以下信 ...
分类:
其他好文 时间:
2018-05-29 10:23:35
阅读次数:
165
教你透彻了解红黑树 (转自:https://github.com/julycoding/The-Art-Of-Programming-By-July/blob/master/ebook/zh/03.01.md) 二叉查找树 由于红黑树本质上就是一棵二叉查找树,所以在了解红黑树之前,咱们先来看下二叉查 ...
分类:
其他好文 时间:
2018-05-27 00:24:40
阅读次数:
178
AVL树简介 AVL树的名字来源于它的发明作者G.M. Adelson-Velsky 和 E.M. Landis。AVL树是最先发明的自平衡二叉查找树(Self-Balancing Binary Search Tree,简称平衡二叉树)。 平衡二叉树定义(AVL):它或者是一颗空树,或者具有以下性质 ...
分类:
编程语言 时间:
2018-05-23 20:47:58
阅读次数:
376
MySQL索引原理 B+树索引是B+树在数据库中的一种实现,是最常见也是数据库中使用最为频繁的一种索引。B+树中的B代表平衡(balance),而不是二叉(binary),因为B+树是从最早的平衡二叉树演化而来的。在讲B+树之前必须先了解二叉查找树、平衡二叉树(AVLTree)和平衡多路查找树(B- ...
分类:
数据库 时间:
2018-05-22 12:55:58
阅读次数:
186
转:https://www.cnblogs.com/lz3018/p/5932198.html 通用数据结构 可以简单的按照速度将通用数据结构划分为:数组和链表(最慢),树(较快),哈希表(最快)。增、删、改、查是四大常见操作,不过其实可以浓缩为两个操作:增和查。删除操作和和修改操作都是建立在查找操 ...
分类:
其他好文 时间:
2018-05-21 22:53:26
阅读次数:
215
前几节介绍的都是有关静态查找表的相关知识,从本节开始介绍另外一种查找表——动态查找表。 动态查找表中做查找操作时,若查找成功可以对其进行删除;如果查找失败,即表中无该关键字,可以将该关键字插入到表中。动态查找表的表示方式有多种,本节介绍一种使用树结构表示动态查找表的实现方法——二叉排序树(又称为“二 ...
分类:
编程语言 时间:
2018-05-21 16:10:18
阅读次数:
210
将它作为我的树的练习题来做的,根本没有想其他的什么方法。 先去看书上的模板,竟然用到了指针啊?干脆的什么都看不懂。于是就苦苦回忆寒假学的东西,经历了无数苦难波折后写下了一个看起来非常非常对的代码: int end=27; int i,f,ans=0,boyt,now; string s; struc ...
分类:
其他好文 时间:
2018-05-20 15:35:42
阅读次数:
156
题目大意: 给定一棵严格的treap,父亲节点的优先级必然小于儿子节点的。权值按照二叉树的定义,左儿子小于父亲小于右儿子。 深度从1开始定义,每个点除优先级、数值之外,还有一个访问频度。 访问频度所产生的代价是:访问频度*该点深度(这和事实相符) 可以用给定的k的代价,修改任意个点的优先级为任意实数 ...
分类:
其他好文 时间:
2018-05-20 12:53:49
阅读次数:
182
一、简介线段树 $ps$: _此处以询问区间和为例_ 线段树之所以称为“树”,是因为其具有树的结构特性。线段树由于本身是专门用来处理区间问题的(包括$RMQ$、$RSQ$问题等),所以其结构可以近似的看做一棵 二叉查找树 : $emmmmm$图是从网上偷的 对于每一个子节点而言,都表示整个序列中的一 ...
分类:
其他好文 时间:
2018-05-20 10:53:26
阅读次数:
176
B树 一、基本原理 B树是一种查找树,它最初启发于二叉查找树。 二叉查找树的特点是每个非叶节点都只有两个孩子节点。然而这种做法会导致当数据量非常大时,二叉查找树的深度过深,搜索算法自根节点向下搜索时,需要访问的节点也就变的相当多。 如果这些节点存储在外存储器中,每访问一个节点,相当于就是进行了一次I ...
分类:
其他好文 时间:
2018-05-18 20:39:09
阅读次数:
159