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+树谁更快?

  1. 如果可以一次性将数据全部加载内存中的话,则B树比B+树稍微快一点点(因为当从根节点往下走的时候有可能直接拿到值)

  2. 如果需要将数据多次加载到内存的话,则B+树的优势就体现出来了

B-树、B+树、B*树相关推荐

  1. 模板 - 树上问题(树的直径、动态查询树的直径、树的重心)

    整理的算法模板合集: ACM模板 目录 一.树的直径 树形DP 两次DFS / BFS(找到直径的两个端点) 二.动态修改树的边权并求每个时刻的直径(线段树) 三.树的重心 一.树的直径 树的直径满足 ...

  2. 解题报告:P3834 【模板】可持久化线段树 2(主席树)详解

    P3834 [模板]可持久化线段树 2(主席树) 题解 P3834 [[模板]可持久化线段树 2(主席树)] 1)静态求第k大数 可持久化线段树,不能用堆的方法存子结点了,所以用指针l表示左儿子r表示 ...

  3. 句法分析语料:宾州树库、UD树库

    句法分析语料:宾州树库.UD树库 目录 句法分析语料:宾州树库.UD树库 宾州树库 UD树库

  4. Boosting、Adaboost、AdaBoost模型的优缺点、提升树、梯度提升树GBDT

    Boosting.Adaboost.AdaBoost模型的优缺点.提升树.梯度提升树GBDT 目录 Boosting.Adaboost.AdaBoost模型的优缺点.提升树.梯度提升树GBDT Boo ...

  5. 决策树ID3、决策树C4.5、决策树CART、CART树的生成、树的剪枝、从ID3到CART、从决策树生成规则、决策树优缺点

    决策树ID3.决策树C4.5.决策树CART.CART树的生成.树的剪枝.从ID3到CART.从决策树生成规则.决策树优缺点 目录

  6. 暑假集训8.10-网络流套树剖套线段树

    题目:dtoj2797旅行商 其实就是裸的网络流套树剖套线段树其实代码不难码 emmmmmm我决定草率的直接上代码,这可能是一条无营养的博客.... #include<bits/stdc++.h ...

  7. 平衡查找树C语言程序,树4. Root of AVL Tree-平衡查找树AVL树的实现

    对于一棵普通的二叉查找树而言,在进行多次的插入或删除后,容易让树失去平衡,导致树的深度不是O(logN),而接近O(N),这样将大大减少对树的查找效率.一种解决办法就是要有一个称为平衡的附加的结构条件 ...

  8. 从B 树、B+ 树、B* 树谈到R 树

    作者:July.weedge.Frankie.编程艺术室出品. 说明:本文从B树开始谈起,然后论述B+树.B*树,最后谈到R 树.其中B树.B+树及B*树部分由weedge完成,R 树部分由Frank ...

  9. 输入一颗二元查找树,将该树转换为它的镜像

    题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点. 例如输入: 8 / \ 6 10 /\ /\ 5 7 9 11 输出: 8 / \ 10 6 ...

  10. 数据库为什么使用B+树而不是B树

    B树和B+树的区别主要有两点: 在B树中,你可以将键和值存放在内部节点和叶子节点,但在B+树中,内部节点都是键,没有值.叶子节点同时存放键和值 B+树的叶子节点有一条链相连,而B+树的叶子节点各自独立 ...

最新文章

  1. the fair-sounding
  2. 非常好的JavaScript学习资源推荐
  3. 基于状态机的LCD多级菜单设计
  4. csv->Flink SQL->Clickhouse(纯DDL形式)
  5. python二级考试可以用pycharm吗_学Python,Pycharm不能不知道怎么用
  6. php键名相加,php二维数组相同键名相加实例
  7. 斯坦福吴恩达团队公布最大医学影像数据集
  8. as 怎么将多个cpp文件代码编译成so_你编写的Java代码是咋跑起来的?
  9. HTML元素居中的方法
  10. 黑马python在线培训
  11. python 统计图绘制,Python绘制统计图表
  12. 重新启动计算机的方法有,如何取消电脑自动更新后的重新启动计算机提示
  13. HTML怎样转换繁体字,excel怎么转繁体字 Excel里怎样繁体字转换成简体字
  14. Flutter 接入iOS苹果内购支付踩坑过程
  15. Python的线程如何理解
  16. 苹果库乐队怎么玩_苹果上的库乐队,极其强大精美的录音神器!
  17. 黑客急于利用微软的零日漏洞
  18. Java实现对PDF文件添加水印
  19. 终于来了!新版本M4压不住枪了?刺激战场雪地地图最强灵敏度
  20. php增加sqlserver扩展

热门文章

  1. 【观察】广州供电局:能源行业产业生态变革新标杆
  2. checkbox不全部选中,会跳出提示(这个是我记录的重点)
  3. 数理统计SPSS软件实验报告一--描述性统计
  4. SPSS——描述性统计分析——描述
  5. Elasticsearch-拼音分词/排序
  6. 运维工程师绩效考核表_IT运维绩效考核表
  7. 读芯术python讲得怎么样_最读网 - 看是用眼,读是用心!
  8. EXCEL高版本求解分布、临界值表→正态分布、正态分位数、X方、F分布、t分布
  9. Unity免费资源汇总
  10. 飞跃微信小程序一一新风口新模式,你所了解到的小程序有多少?