B-树、B+树、B*树
B-树
B-树就是B树,普通节点也存数据
特点:
1. 根结点的儿子数为[2, M]
2. 除根结点以外的非叶子结点的儿子数为[M/2, M]
3. 每个结点存放至少M/2-1(取上整)和至多M-1个关键字(至少2个关键字)
4. 非叶子结点的关键字个数=指向儿子的指针个数-1
5. 所有叶子结点位于同一层
B+树
只有叶子节点才存数据,非叶节点只存储关键字,非叶子节点所能保存的关键字大大增加,树的高度降低,磁盘IO次数减少
应用:mysql索引的一种(聚簇和非聚簇索引)
特点:
1. 非叶子结点的子树指针与关键字个数相同
2. 为所有叶子结点增加一个链指针,有利于数据库做全表扫描
B*树
B+树的变体,非叶子节点和根节点之间也加入了指向兄弟节点的指向
特点:
1. 在B+树基础上,为非叶子结点也增加链表指针
2. B+树初始化的关键字初始化个数是cei(m/2),b树的初始化个数为(cei(2/3m),将结点的最低利用率从1/2提高到2/3
B树和B+树谁更快?
如果可以一次性将数据全部加载内存中的话,则B树比B+树稍微快一点点(因为当从根节点往下走的时候有可能直接拿到值)
如果需要将数据多次加载到内存的话,则B+树的优势就体现出来了
B-树、B+树、B*树相关推荐
- 模板 - 树上问题(树的直径、动态查询树的直径、树的重心)
整理的算法模板合集: ACM模板 目录 一.树的直径 树形DP 两次DFS / BFS(找到直径的两个端点) 二.动态修改树的边权并求每个时刻的直径(线段树) 三.树的重心 一.树的直径 树的直径满足 ...
- 解题报告:P3834 【模板】可持久化线段树 2(主席树)详解
P3834 [模板]可持久化线段树 2(主席树) 题解 P3834 [[模板]可持久化线段树 2(主席树)] 1)静态求第k大数 可持久化线段树,不能用堆的方法存子结点了,所以用指针l表示左儿子r表示 ...
- 句法分析语料:宾州树库、UD树库
句法分析语料:宾州树库.UD树库 目录 句法分析语料:宾州树库.UD树库 宾州树库 UD树库
- Boosting、Adaboost、AdaBoost模型的优缺点、提升树、梯度提升树GBDT
Boosting.Adaboost.AdaBoost模型的优缺点.提升树.梯度提升树GBDT 目录 Boosting.Adaboost.AdaBoost模型的优缺点.提升树.梯度提升树GBDT Boo ...
- 决策树ID3、决策树C4.5、决策树CART、CART树的生成、树的剪枝、从ID3到CART、从决策树生成规则、决策树优缺点
决策树ID3.决策树C4.5.决策树CART.CART树的生成.树的剪枝.从ID3到CART.从决策树生成规则.决策树优缺点 目录
- 暑假集训8.10-网络流套树剖套线段树
题目:dtoj2797旅行商 其实就是裸的网络流套树剖套线段树其实代码不难码 emmmmmm我决定草率的直接上代码,这可能是一条无营养的博客.... #include<bits/stdc++.h ...
- 平衡查找树C语言程序,树4. Root of AVL Tree-平衡查找树AVL树的实现
对于一棵普通的二叉查找树而言,在进行多次的插入或删除后,容易让树失去平衡,导致树的深度不是O(logN),而接近O(N),这样将大大减少对树的查找效率.一种解决办法就是要有一个称为平衡的附加的结构条件 ...
- 从B 树、B+ 树、B* 树谈到R 树
作者:July.weedge.Frankie.编程艺术室出品. 说明:本文从B树开始谈起,然后论述B+树.B*树,最后谈到R 树.其中B树.B+树及B*树部分由weedge完成,R 树部分由Frank ...
- 输入一颗二元查找树,将该树转换为它的镜像
题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点. 例如输入: 8 / \ 6 10 /\ /\ 5 7 9 11 输出: 8 / \ 10 6 ...
- 数据库为什么使用B+树而不是B树
B树和B+树的区别主要有两点: 在B树中,你可以将键和值存放在内部节点和叶子节点,但在B+树中,内部节点都是键,没有值.叶子节点同时存放键和值 B+树的叶子节点有一条链相连,而B+树的叶子节点各自独立 ...
最新文章
- the fair-sounding
- 非常好的JavaScript学习资源推荐
- 基于状态机的LCD多级菜单设计
- csv->Flink SQL->Clickhouse(纯DDL形式)
- python二级考试可以用pycharm吗_学Python,Pycharm不能不知道怎么用
- php键名相加,php二维数组相同键名相加实例
- 斯坦福吴恩达团队公布最大医学影像数据集
- as 怎么将多个cpp文件代码编译成so_你编写的Java代码是咋跑起来的?
- HTML元素居中的方法
- 黑马python在线培训
- python 统计图绘制,Python绘制统计图表
- 重新启动计算机的方法有,如何取消电脑自动更新后的重新启动计算机提示
- HTML怎样转换繁体字,excel怎么转繁体字 Excel里怎样繁体字转换成简体字
- Flutter 接入iOS苹果内购支付踩坑过程
- Python的线程如何理解
- 苹果库乐队怎么玩_苹果上的库乐队,极其强大精美的录音神器!
- 黑客急于利用微软的零日漏洞
- Java实现对PDF文件添加水印
- 终于来了!新版本M4压不住枪了?刺激战场雪地地图最强灵敏度
- php增加sqlserver扩展