首页 > 编程语言 >算法 B树

算法 B树

时间:2024-03-31 09:55:37浏览次数:20  
标签:孩子 改查 叶子 算法 增删 磁盘 节点

B树是一种自平衡的树形数据结构,用于解决磁盘存储器上的数据管理问题

B树更适合做磁盘上的增删改查,而平衡二叉树和红黑树更适合做内存中的增删改查。因此B树广泛应用于数据库当中

 

某个节点的度:该节点的孩子数

阶:所有节点中,孩子数最多的那个值

 

B树的特性:

1. 除根节点和叶子节点外,其他每个节点至少有   阶数 / 2 再向上取整  个孩子

2. 如果根节点不是叶子节点,则至少有两个孩子

3. 所有叶子节点都在同一层,即叶子节点的高度都相同

4. 每个非叶子节点由n个key和 n+1 个孩子组成,其中 ceil(m/2)-1 <= key <= 阶数-1     ceil:向上取整

 

标签:孩子,改查,叶子,算法,增删,磁盘,节点
From: https://www.cnblogs.com/gagaya2/p/18106414

相关文章

  • 【两阶段鲁棒微网】【不确定性】基于关键场景辨别算法的两阶段鲁棒微网优化调度(Matlab
     ......
  • 力扣回溯算法--总结篇
    前言期末考试加上寒假两个月,一直没有动力,差不多三个月没写题了。最近写题也没有及时写文章总结,实在不知道如何开始,但是也得开始啊。干脆写个总结吧,再开始每天坚持写题写文章。玩了两个月,很多事情没有完成,很多东西也忘得差不多了,得抓紧时间捡起来,坚持输入,坚持输出。内容这些......
  • 数据结构与算法——栈的使用
    栈是一种具有特定操作规则的数据结构,遵循先进后出(FILO)的原则,即最后进入的元素最先被访问或移除。栈通常用于需要临时存储数据,以及实现逆序输出、函数调用和表达式求值等场景。基本操作:创建栈、压栈(入栈)、弹栈(出栈)、获取栈顶元素、判断栈是否为空等。代码如下:importja......
  • Leetcode算法训练日记 | day9
    一、实现strStr函数1.题目Leetcode:第28题给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从0开始)。如果needle不是haystack的一部分,则返回 -1。示例1:输入:haystack="sadbutsad",needle="sad"输......
  • 数据结构与算法——双向链表的使用原理
    双向链表是一种特殊链表,每个节点包含两个指针,一个指向前一个节点,一个指向后一个节点。双向链表可以支持双向遍历,插入和删除操作更加高效。双向链表的基本操作包括插入、删除、查找等。双向链表的常见应用场景包括LRU缓存淘汰算法、双向队列等需要频繁在两端进行操作的场景......
  • (算法)Lake Counting <Flood Fill 洪水灌溉模型>
    题目:题解:#include<stdio.h>intn,m;chararr[110][110];//元数据数组intcount=0;//计数器intdx[8]={1,1,1,-1,-1,-1,0,0};intdy[8]={-1,0,1,-1,0,1,1,-1};intt[110][110];//判断是否被选择voiddfs(intx,inty){for(inti=0;i<......
  • (算法) 入门——<迷宫问题>
    题目:题解:#include<stdio.h>intw,h;chararr[20][20];//初始值数组intt[20][20];//判断是否被选择的数组intdx[4]={0,0,-1,1};intdy[4]={1,-1,0,0};intcount=1;//计数器voiddfs(intx,inty){for(inti=0;i<4;i++)//暴力穷......
  • 代码随想录算法训练营第8天 | 字符串
    344反转字符串voidreverseString(vector<char>&s){chartmp; inti=0,j=s.size()-1; while(i<j) { tmp=s[i]; s[i]=s[j]; s[j]=tmp; i++;j--; }}swap库函数的实现:位运算法——按位异或s[i]^=s[j];s[j]^=s[i];s[i]^=s[j];54......
  • 【图论】3.30学习记录 k短路(A*算法)
    从最短路说起的k短路3.26看了最短路和次短路。我们发现次短路实际上就是把最短路给破坏掉然后跑最短路...那我想...是不是破坏(k-1)次就能得到k短路呢,很显然是的,但是复杂度比较高,(因为一次dij是O(nlogn)级别的,次短路的话最坏要跑m次当最短路有m条边的时候)那么k比较大的时候就......
  • Java 递归算法系列:建议收藏的 13 个经典问题的代码实现详解
    递归算法题求阶乘(Factorial)斐波那契数列(FibonacciSequence)汉诺塔(TowerofHanoi)遍历树节点(TreeTraversal)数组反转(ArrayReversal)爬楼梯问题(ClimbingStairsProblem)回文数检测(PalindromeChecking)找出数组中的最大值(FindingMaximumValueinanArray)分治算法......