什么是B树

article/2025/9/8 23:45:34

1.什么是B树

  B树又称为多路平衡查找树,B树中所有结点的孩子节点数的最大值称为B树的阶,通常用m表示。

2.B树的特性

一颗m阶B树或为空树,或为满足如下特性的m叉树:

  1)树中每个结点至多有M棵子树(即至多含有m-1个关键字)。

  2)若根节点不是终端结点,则至少有两颗子树。

  3)除根节点外的所有非叶子结点至少有Math.ceil(m/2)棵子树(即至少含有Math.ceil(m-2)-1个关键字)。

  4)所有的叶子结点都出现在同一层次上,并且不带信息。

3.B树的插入

  【经典例题】将依次20,30,50,52,60插入3阶B数。

  第一步:              

第二步:

第三步: 

第四步:

 第五步:

4.B数的删除

当删除的k值不是叶子时,有下列几种情况:

  1)若左子树中的关键字个数>Math.ceil(m/2)-1,则找前驱替代,再删除k。

  2)若右子树中的关键字个数>Math.ceil(m/2)-1,则找后继替代,再删除k。

  3)若左右子树中的关键字个数=Math.ceil(m/2)-1,两子树合并,再删除k。

 当删除的k值是叶子时,有下列几种情况:

  1)若所在的结点关键字个数>Math.ceil(m/2)-1,直接删。

  2)若所在的结点关键字个数=Math.ceil(m/2)-1且兄弟结点的个数≥Math.ceil(m/2),父子换位法。

  3)若所在结点的关键字个数=Math.ceil(m/2)-1且兄弟结点的个数=Math.ceil(m/2)-1,父子合并法。

5.经典例题

【经典例题】对如下图所示的3阶B树,依次执行下列操作,画出各步操作的结果。

  (1)插入90

  (2)插入25

  (3)插入45

  (4)删除60

  (5)删除80

 【解】

答案(1)

答案(2) 

 

 答案(3)

 答案(4)

 答案(5)

 


http://chatgpt.dhexx.cn/article/bZUIg7UB.shtml

相关文章

图解B树构建过程

1.B树结构同时满足以下特性 每个节点最多包含n个孩子,即n叉树;除了根节点和叶子节点外,每个节点至少有ceil(n/2)个孩子(ceil是向上取整);若根节点不是叶子节点,则至少有两个孩子;所…

了解B树的删除

文章目录 1. 删除操作第一种情况第二种情况第三种情况 2. C示例3. 删除复杂度参考文档 在本教程中,您将学习如何从B树中删除键。此外,您还可以找到C语言的示例。     删除B树上的元素包括三个主要事件:搜索要删除的键所在的节点、删除键和…

B树的插入、删除操作

一、简介 B树是什么? 1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树,它是一种平衡的多叉树,称为B树(或B-树、B_树)。 一棵m阶B树(balanced tree of order m)是一棵平衡的m路搜索树。它或者是空树…

数据结构-B树删除示例

数据结构学习-B树删除示例 1、B树简介2、在线可视化生成B树工具3、B树删除规则4、B树删除示例4.1、删除非根结点示例4.2、删除根结点示例 1、B树简介 1970年,R.Bayer和E.mccreight提出了一种适用于外查找的树,它是一种平衡的多叉树,称为B树&a…

B树-多路平衡查找树

B树 B树一个m阶B树的具有的特征(或必须满足的条件)B树的查找B树插入元素(一定是在叶子节点插入)1.插入后,没有破坏B树的规则2.插入后,叶子节点元素超过m-1个 B树删除元素1.删除叶子节点上的元素,没有破坏规则2.删除叶子…

B树、B+树详解

B-树,即为B树。因为B树的原英文名称为B-tree,目前理解B的意思为平衡。 概念 首先,B树不要和二叉树混淆,在计算机科学中,B树是一种自平衡树数据结构,它维护有序数据并允许以对数时间进行搜索,顺…

【B树及B树的基本操作】

文章目录 1.B树的定义和特性2.B树的性质3.B树创建的过程。4.B树的删除5.总结 1.B树的定义和特性 B树是一种平衡的多路查找树。 一棵m阶的B树(B树中所有结点的孩子个数的最大值为m),或为空树,或为满足下列特性的m叉树: (1) 树中每…

B树和B+树的区别

文章目录 简述写在前面1、B树2、B树 深入浅出B树B树深入B-树的查找 B 树B树概述 B-树和B树的区别拓展:MySQL为什么使用B-Tree(BTree)&& 存储知识存储数据最小单元主存存取原理磁盘存取原理 总结 简述 写在前面 大家在面试的时候&am…

B树(B-树)详解

B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,B-tree就是指的B树。 B-树容易让人误解,建议大家用B树称呼, 本文以下直称B树 这篇介绍概念, 优点应用等, B树的描述和增删改查请到隔壁我写的另一篇(篇幅较长…

数据结构 —— B树

文章目录 1、B树的定义1.1、B树的特性1.2、B树的高度1.3、性能分析1.4、B树的补充说明1.5 、B树、B-树 、B-tree、B tree的区别 2、B树的插入操作以5阶B树为例,介绍B树的插入操作, 3、 B树的删除操作以5阶B树为例,介绍B树的删除操作 4、B树相…

B树和B+树详解

B树、B树看这一篇就够了 [TOC](B树、B树看这一篇就够了) 引言B树什么是B树以及B树是怎么来的B树的基本性质B树的新增和删除B树的插入B树的删除 B树什么是B树以及为什么要有B树B树的基本性质B树的查找 B树与B树的比较B树的优势B树的优势两者的细节对比 B树与B树在实际代码中的应…

B-树(B树)详解

https://www.jianshu.com/p/7dedb7ebe033 具体讲解之前,有一点,再次强调下:B-树,即为B树。因为B树的原英文名称为B-tree,而国内很多人喜欢把B-tree译作B-树,其实,这是个非常不好的直译&#xf…

B树和B+树

目录 一、BST树到AVL树到B树的简介 1.1 BST树 --- 二叉排序树 1.2 AVL树 --- 平衡二叉树 1.3 B树 --- 平衡多路查找树 1.3.1 B树的查找结点过程 1.3.2 B树的添加结点过程(和结点分裂过程) 1.3.3 B树的删除结点过程 二、B树 2.1 B树和B树 一…

在群晖NAS部署_开源在线项目任务管理工具【dooTask】

一、dooTask简介 1.1、说明 Dootask 是一款由国人开源的轻量级在线项目任务管理工具,它提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时通讯IM,文件管理等功能。基于PHP与Vue编写,遵守AGPL3.0开源协议。 1.2、特…

软件项目管理的重点知识

软件项目管理的重点知识 1.软件项目管理概述 1.1项目是什么 项目是为了创造一个唯一的产品或提供一个唯一的服务而进行的临时性的努力。 1.2常见的项目 生活中的项目 生日聚会野餐活动集体婚礼 大项目 微软的操作系统阿波罗计划神州飞船计划鸿蒙操作系统开发一个网站运…

推荐八款好用的项目管理工具

要想取得项目成功,避不开包括计划、执行、监控等。使用项目管理工具可以帮助项目经理制定项目计划,监控项目执行,跟踪项目进度。 1、进度猫 进度猫是国产的一款项目管理工具以甘特图为向导,基于任务清单todolist,支持…

工程项目管理软件有哪些?这六款很好用!

工程项目管理软件哪个好用?这六款很不错! 在现代社会中,软件已经成为了企业信息化、项目管理等方面必不可少的工具。尤其是对于工程项目管理而言,借助软件进行协同、计划、控制等方面的工作,已经成为了必要的手段。但…

项目管理-软件:国内外知名IT项目管理工具【Worktile、PingCode、Jira、Clarizen、禅道】

IT项目管理随着敏捷的普及,支持其开发模式的工具也越来越多。它和瀑布工具的巨大差异在于一个是任务管理模式,一个是需求驱动管理模式。在这里,我列出了在国内外最知名最好用的敏捷工具及其网站。IT项目管理,或者说研发管理软件是…

10款最佳项目管理工具推荐

1、进度猫 进度猫是一款以甘特图为向导的轻量级在线免费项目进度管理工具。 特点: 基于甘特图、进度管理、任务管理ToDo、在线思维导图、团队协作随时把控项目进度,让项目管理一目了然。 甘特图显示项目的进度和具体任务清单。 对未完成任务、已完成任务进行分类…

知乎热推 6 款在线项目管理工具测评

用了一段时间的项目管理工具后,简单的总结项目管理工具就是: 一个能够满足项目经理对项目资源(人员、文件和时间)的管理,同时提供了项目进度可视化展示和支持团队合作的平台工具。 在这里,对知乎上热推的几…