代码改变世界

B树

  Clingingboy  阅读(491)  评论(0编辑  收藏  举报

 

m路查找树

若满足一下条件的数,则成为m路查找树

image

如下面一棵3路查找树的示例

  1. m=3
  2. k1=20,k2=40
  3. A0{10,15},A1{25,30},A2{45,50}

规则判断

  1. K1<A1<K2,当0<i<n,即n>1时
  2. A1>K1
  3. A0<K1
  4. C也符合条件

image

B-树

 

image

 

B-树的目标

尽可能让节点的数据项填满,这样才可以让取数据时取到数据项的最大化.

与2-3-5所不同的是当遇到节点满时并不裂,而是当遇到插入节点的数据项满时才分裂,这就有可能导致满节点的父节点也是满节点的,需要二次分类.

B-树的插入

image

取中间值,然后分裂(经过2-3-4的分裂过程,这里就很容易理解了)

image

 

image

image

image

image

在这种结构下,查找关键字会比顺序表快的多

这个先不打算深入了,先有个概念

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2008-10-09 json格式化,统一格式?,前端与后端的矛盾
点击右上角即可分享
微信分享提示