首页 > 其他分享 >二十一、B树的定义、查找、插入和删除

二十一、B树的定义、查找、插入和删除

时间:2022-11-08 00:23:09浏览次数:28  
标签:结点 指向 关键字 Ki 二十一 插入 查找 指针

一、B树的定义

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

(1)树中每个结点至多有m棵子树;
(2)B树是所有结点的平衡因子均等于0的多路平衡查找树;
(3)若根结点不是叶子结点,则至少有两棵子树;
(4)除根之外的所有非终端结点至少有⌈m/2⌉棵子树;
(5)所有的叶子结点都出现在同一层次上,并且不带信息,通常称为失败结点(失败结点并不存在,指向这些结点的指针为空。引入失败结点是为了便于分析B树的查找性能);
(6)所有的非终端结点最多有m-1个关键字,结点的结构如图所示。

 

 

二、B树的查找

B树的查找从根结点开始,重复以下过程:若给定关键字等于结点中某个关键字Ki,则查找成功;若给定关键字比结点中的K1小,则进入指针A0。指向的下一层结点继续查找;若在两个关键字Ki-1和Ki之间,则进入它们之间的指针Ai-1从一指向的下一层结点继续查找;若比该结点所有关键字大,则在其最后一个指针An指向的下一层结点继续查找;若查找到叶子结点,则说明给定值对应的数据记录不存在,查找失败。

标签:结点,指向,关键字,Ki,二十一,插入,查找,指针
From: https://www.cnblogs.com/haibersut/p/16867946.html

相关文章

  • A*查找迷宫最佳路径
    1准备工作1.1地图\[\begin{bmatrix}0&0&0&0&0\\1&0&1&0&1\\0&0&1&1&1\\0&1&0&0&0\\0&0&0&1&0\end{bmatrix......
  • 插值查找算法
    插值查找算法插值查找原理介绍:​ 插值查找算法类似于二分查找,不同的是插值查找每次从自适应mid处开始查找。2.将折半查找中的求mid索引的公式,low表示左边索......
  • windbg中通过文件句柄查找设备(!handle/!fileobj/!devobj命令)
      有时,在驱动程序中会调用ZwCreateFile获得设备句柄,然后保存在设备扩展区域中供其他例程使用。由于驱动程序经常被动调用----执行的上下文可能不是同一个线程----会获得......
  • 二分查找
    二分查找:请对一个有序数组进行二分查找{1,8,10,89,1000,1234},输入一个数看看该数组是否存在此数,并且求出下标,如果没有就提示"没有这个数"。二分查找思路二分查......
  • MySQL_联合查询_DML_插入语句
    数据操作语言插入:insert修改:update删除:delete 一插入语句–表已经存在经典的插入:方式一语法:Insertinto表名(列明,…)Value(值1,…);特点1插入的值的类型要与......
  • 查找——数据结构与算法学习
    查找算法二分查找(初始二分查找)算法原理:就是一个分治的思想:分而治之,不断划分数据的查找范围,就可以提高查找效率,效率达到了O(logn)前提:必须对应的是有序列表//手写二分......
  • VS“无法查找或打开PDB文件”是怎么回事?如何解决
    有时候,我们使用VS(VisualStudio)编译程序时会出现“无法查找或打开PDB文件”的提示,并且此时程序会生成失败,无法运行,如下图所示:大家不要惊慌,出现这种提示并不是代码写错了......
  • 704. 二分查找
    704.二分查找给定一个 n 个元素有序的(升序)整型数组 nums和一个目标值 target ,写一个函数搜索 nums 中的target,如果目标值存在返回下标,否则返回-1。示例......
  • 二叉树中查找后继节点问题
    二叉树中查找后继节点问题作者:Grey原文地址:博客园:二叉树中查找后继节点问题CSDN:二叉树中查找后继节点问题题目描述给定一个二叉查找树,以及一个节点,求该节点在中序遍......
  • 在有序数组中插入一个数后仍然有序
    #include<stdio.h>intmain(){ inta[7]={2,5,12,32,44,57}; intb=20; inti; intj; intlength; length=sizeof(a)/sizeof(int); printf("插......