B树与B+树个人笔记

算法——B树,B-树,B+树,B*树全面解析笔记 算法——B树,B-树,B+树,B*树全面解析笔记 https://zhuanlan.zhihu.com/p/54102723 https://www.cnblogs.com/lianzhilei/p/11250589.html B树 = B-树 B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译,很容易让人产生误解。如人们可能会以为B-树是一种树,而B树又是一种树。而事实上是,B-tree就是指的B树,目前理解B的意思为平衡 B树的出现 阅读详情

B树与B+树

前言

先引入一个动态查找树:二叉查找树、平衡二叉查找树、红黑树、B树、B+树、B*树。
这六者都是为实现高效率的磁盘存取而设计的。
前三者是典型的二叉查找树结构,时间复杂度为n(log2N),与树的深度(高度)相关,那么降低树的深度自然就可以提高查找效率。
后三者是要讲的重点。
树的深度过大会造成磁盘I/O操作过于频繁,进而导致查询效率低下。
那么如何减少树的深度?如果在树节点存储更多的元素,但树节点存储的元素数量是有限的(如果元素数量非常多的话,查找就退化成节点内部的线性查找了),那么一个基本的想法就是采用多叉树结构。

B树

B树,多路平衡查找树,在平衡二叉树的基础上衍生出来的,与红黑树相似,但在降低磁盘I/O操作方面要更好一些。

特性
一棵M阶的树
1、 树中每个结点最多含有M个孩子(M >= 2)
2、 除根结点和叶子结点外,其它每个结点至少有ceil( M/2 )个孩子(ceil(x)向上取整)
3、 若根结点不是叶子结点,则至少有2个孩子。(特殊情况为没有孩子的根结点,整棵树只有一个根节点)
4、 所有叶子结点都出现在同一层,叶子结点不包含任务关键字信息
5、 每个非终端结点中包含n个关键字信息(k0 , p0 , k1 , p1 , k2 , p2 , ….. , kn , pn),其中:
1、 Ki为关键字信息,且关键字按顺序升序排序K(i-1)

B+树

B+是在B树的基础上的一种变形树。主要特点同B树一样,主要差异在:
1、 关键字信息全部保存在叶子结点,非叶子结点只保存关键字的索引信息。
2、 树的所有叶子结点构成一个有序链表,可以按照关键字排序的次序遍历全部信息。
3、 一个M阶的B+有M个关键字(B树是M-1),M个孩子。(ki<=ci

B树(B-树)与B+树与红黑树 B树是为实现高效的磁盘存取而设计的多叉平衡搜索树。这个概念在文件系统,数据库系统中非常重要。当然,有关于B树的产生,发展,结构等等方面的介绍已经非常详细,所以本文只是介绍有关于B树和B+树最核心的知识点,也算是我本人的学习笔记。至于详细的资料,因为毕竟有着太多,所以不再赘述。可以向大家推荐一篇博客:从B树、B+树、B*树谈到R 树,这篇文章中,作者对于B树系列数据结构的讲解非常详细,我的这篇博客,... 阅读详情

相关推荐

B树与B+树与Mysql innodb的B+树和其相关索引

如果您觉得有用的话,记得给,写作不易啊^ _ ^。而且听说,实在白嫖的话,那欢迎常来啊!!!

杨杨杨~~的博客 1490

B-树,B+树学习笔记

B-树(Balance Tree),一个m阶的B树具有如下几个特征: 1.根结点至少有两个子女。 2.每个中间节点都包含k-1个元素和k个孩子,其中 m/2 <= k <= m 3.每一个叶子节点都包含k-1个元素,其中 m/2 <= k <= m 4.所有的叶子结点都位于同一层。 5.每个节点中的元素从小到大排列,节点当中k-1个元素正好是k个孩子包含的元素的值域分划。 一个三叉B-树 ...

qq_41716261的博客 173

【树】B树与B+树

B 树(B-Tree)结构是一种高效存储和查询数据的方法,它的历史可以追溯到 1970 年代早期。B 树的发明人 Rudolf Bayer 和 Edward M. McCreight 分别发表了一篇论文介绍了 B 树。这篇论文是 1972 年发表于《ACM Transactions on Database Systems》中的,题目为"Organization and Maintenance of Large Ordered Indexes"。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 2万+

408数据结构学习笔记——B树、B+树、散列表

1.B树 2.B+树 3.散列表

JiangNan_1002的博客 4398

RAG开源框架深度评测:从RAGFlow到Dify的实战选型指南

本文深度评测了主流RAG开源框架(RAGFlow、Dify、WeKnora)的核心能力与实战表现,提供企业级选型指南。重点对比了文档解析、检索性能和生产部署等关键指标,揭示RAGFlow在复杂文档处理、Dify在低代码开发、WeKnora在腾讯生态集成的差异化优势,并给出技术选型决策树与成本优化方案。

weixin_29294597的博客 828

DIY压电陶瓷传感器信号放大:从拆解到JFET电路实战(附示波器实测数据)

本文详细介绍了如何利用废旧设备拆解的压电陶瓷片,结合JFET(结型场效应管)高输入阻抗特性,DIY搭建高灵敏度振动传感器放大电路。从元件拆解、参数实测到JFET共源极放大器实战搭建与调试,提供了完整的步骤、示波器实测数据及优化方案,帮助电子爱好者实现低功耗振动检测应用。

weixin_29195615的博客 389

B树插入和删除的各种情况分析

1.b树的定义 b树是一种平衡的多路查找树,他在文件系统很有用。 一颗m阶的B树,或为空树,或者满足依稀阿特性的M叉树; 每个结点至多拥有M课子树 根结点至少拥有两颗子树 除了根结点以外,其余每个分支结点至少拥有M/2课子树 所有的叶结点都在同一层上 有k课子树的分支结点则存在k-1个关键字,关键字按照递增顺序进行排序 关键字数量满足ceil(M/2)-1 <= n <= M-1 2.B树的数据结构 #define M 4 #define KEY_NUM (2 * M - 1) //阶

jianjian的博客 2974

Docker启动安装nacos(详情讲解,全网最细)

docker安装nacos保姆级教程

ilvjiale的博客 8万+

'\b'退格符号笔记

  今天在给小孩儿讲for循环输出最后一个输出项没有空格的情况   借助标记,选择在第二个至最后一个的输出项前添加空格 1 int flag = 0; 2 for(int i = 0; i < n; i++) { 3 if(flag == 0) cout << a[i]; 4 else cout << ' ' << ...

weixin_30768661的博客 2145

Speedtree学习笔记(案例)——拥有多种材质的植物如何导入使用(以草为例)

注:Speedtree无论保存还是导入模型其存储路径不可有中文。 第一步拆分草的模型 根据所需的材质去拆分(例:假若草的果实,茎秆和叶子是不同的材质那么就需拆分为三份;假若画的全部颜色及材质一样就没有必要去拆分模型) 第二步导入草的模型 在Mesh面板中依次导入草的模型——Do nothing additional right now 第三步扩大草的生长区域范围(可省略)...

L人青的博客 5722

知识图谱本体建模工具Protege使用教程

1.下载 先去官网下载:protégé 直接下最新版,点击会有注册页面,只填必填项的name和project description即可。 下载后解压即可使用。 2、安装可视化工具Graphviz 去官网:Download | Graphviz下载。下一个最新版的zip就行。 我解压在了Protege文件夹下,然后在 Preference下指定目录。 指定一下你解压完的Graphviz下的dot.exe,确定。 PS:如果这样报错就尝试在环境变量的系统变量的...

子麒的博客 2万+

菜鸡笔记——B-+树小结

好久没更新了,最近期末考复习看到B树突然觉得全忘了,后来花了一个上午的时间查博客、问老师,总算稍微弄懂了一些。接下来稍微总结一下。 为什么要有B树? 学习任何一个东西我们都要知道为什么要有它,B树也一样,既然存储数据,我们为什么不用红黑树呢? 这个要从几个方面来说了: (1)计算机有一个局部性原理,就是说,当一个数据被用到时,其附近的数据也通常会马上被使用。 (2)所以当你用红黑树的时候,你一次只...

weixin_43301333的博客 419

VSCode+Typst零配置写作指南:5分钟搞定论文排版环境(含实时预览技巧)

本文介绍如何利用VSCode和Typst快速搭建零配置的论文排版环境,5分钟内实现高效写作与实时预览。Typst作为轻量级排版工具,结合LaTeX的精度与现代化语法,显著提升学术写作效率,特别适合需要频繁调整格式的研究人员。

weixin_30642561的博客 110

B+树个人笔记

原因:像红黑树,二叉树,这种类型的树的结构,树高会比B+树高出很多,这样会加大硬盘的访问次数,内存访问次数是纳秒级,对比硬盘是毫秒级,想要提速,只能减少对硬盘的访问次数(树越高,访问次数越多)。B树需要挪动节点上的数据,而B+树因为将所有数据都存在了子节点,所以,只需要挪动对应的索引就行,速度更快。所以即使B+树相比红黑树,平衡二叉树的节点元素个数增加了,也不会影响到硬盘读取速度。,范围查询,只需定位起始链表,然后顺序遍历链表,无需回溯上层,更加高效。B+树,相比B树,单独节点,只存储键值和子节点指针,

qq_62576218的博客 215

基于Python的携程景点评价爬虫与情感评分分析

摘要: 本项目通过Python技术栈实现携程景点评论的情感分析系统,包含数据爬取、文本预处理、情感评分和可视化分析全流程。使用requests抓取评论接口,jieba进行中文分词,SnowNLP计算情感得分(0-1),并通过词云、情感分布图呈现结果。典型分析显示72%评论为正面,负面反馈多涉及"排队久""票价贵"等问题。系统可辅助景点口碑管理,扩展方向包括多景点对比、BERT模型优化等。项目强调需遵守爬虫伦理,控制请求频率,适用于非商业用途的旅游数据分析。(150字)

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 978

别再用LabelImg了!我手搓了一个C#“一站式”YOLO工具箱,标注训练推理全搞定

这个工具箱目前已经在两个小型产线项目中试用,反馈非常好。效率提升:原本需要 2 天完成的“数据准备 - 训练 - 验证”循环,现在缩短到了 2 小时。门槛降低:产线技术员经过 10 分钟培训,就能独立完成新产品的模型迭代。当然,它还有改进空间未来计划集成主动学习功能:自动筛选出置信度低的图片,推荐优先标注。支持多模型管理:方便在不同产品型号间快速切换。增加PLC 通信模块:直接在推理界面配置 IO 信号,实现真正的软硬联动。最后想说工具的本质是服务于人。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 442

《算法导论》第18章 B树 个人笔记

第18章 B树 18.1 B树的定义 18.2 B树上的基本操作

Amber07的笔记本 755

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

B树与B+树的区别

文章目录一、使用B-树的好处二、B-树深入三、B-树的查找四、B+ 树五、B-树和B+树的区别①B+树内节点不存储数据,所有 data 存储在叶节点导致查询时间复杂度固定为 log n。而B-树查询时间复杂度不固定,与 key 在树中的位置有关,最好为O(1)。② B+树叶节点两两相连可大大增加区间访问性,可使用在范围查询等,而B-树每个节点 key 和 data 在一起,则无法区间查找。③B+树更适合外部存储。由于内节点无 data 域,每个节点能索引的范围更大更精确六、使用B+树的好处七、拓展:MySQ

森明帮大于黑虎帮的博客 3万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

B树与B+树

一、B树 1.1 B树的定义 B树也称B-树,它是一颗多路平衡查找树。我们描述一颗B树时需要指定它的阶数,阶数表示了一个结点最多有多少个孩子结点,一般用字母m表示阶数。当m取2时,就是我们常见的二叉搜索树。 一颗m阶的B树定义如下: 每个结点最多有m-1个关键字。 根结点最少可以只有1个关键字。 非根结点至少有Math.ceil(m/2)-1个关键字。 每个结点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中的所有关键字都小于它,而右子树中的所有关键字都大于它。 所有叶子结点都位于同一层,或者说根

kking_edc的博客 1万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

数据结构学习笔记之B树与B+树

B树与B+树,与二叉排序树一样,也常用于查找算法中,本文学习这两种结构的基本概念与基本操作。

御承扬的博客 1万+

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

从B 树、B+ 树、B* 树谈到R 树   作者:July、weedge、Frankie。编程艺术室出品。 说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。 出处:http://blog.youkuaiyun.com/v_JULY_v 。   第一节、B树、B+树、B*...

结构之法 算法之道 66万+

B树,B-树和B+树、B*树的区别

之前一些概念混淆,现在更正一下。 B树 B-tree树即B树,B即Balanced,平衡的意思。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这种直译不好,容易产生误解。如人们可能会以为B-树是一种树,而B树又是一种树。事实上,B-tree就是指B树。特此说明。 先介绍一下二叉搜索树: 1.所有非叶子结点至多拥有两...

qq_22613757的博客 1万+

B树、B-树、B+树、B*树 详细总结

B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right); 2.所有结点存储一个关键字; 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树; B树的搜索,从根结点开始,如果查询的关键字与结点的关键字相等,那么就命中;否则,如果查询关键字比结点关键字小,就进入左儿子;如果比结点关...

杰哥一号号的博客 5429

哈夫曼树与B树的笔记

1、哈夫曼树的概念当用 n 个结点(都做叶子结点且都有各自的权值)试图构建一棵树时,如果构建的这棵树的带权路径长度最小,称这棵树为“最优二叉树2、哈夫曼树相关术语路径和路径长度在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径(在上图种,从根结点到结点 a 之间的通路就是一条路径。通路中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1(上图中从根结点到结点 c 的路径长度为 3。结点的权给每一个结点赋予一个新的数值,被称为这个结点的权。

cjl_c的博客 2028

红黑树与B树、B+树

一、红黑树 1、红黑树的特性 (1)每个节点或者是黑色,或者是红色。 (2)根节点是黑色。 (3)每个叶子节点(NIL)是黑色。 [注意:这里叶子节点,是指为空(NIL或NULL)的叶子节点!] (4)如果一个节点是红色的,则它的子节点必须是黑色的。 (5)从一个节点到该节点的子孙节点的所有路径上包含相同数目的黑节点。[这里指到叶子节点的路径] 包含n个内部节点的红黑树的高度是 O(log(n)). 如图: 2、红黑树的使用场景 java中使用到红黑树的有TreeSet和JDK1.8的HashMap

程序猿踩坑集锦 7990
上一篇: 最接近点对问题(分治)
下一篇: 关于哈希的个人笔记
VLoye
博客等级 码龄10年 9粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值