b树的概念和建立

对于红黑树(二叉树)来说 当数据较多的时候他只有 两个子节点 那么对应的深度会很大 ,,那么在进行查找时多次的访问会造成查找效率的下降,同时,在对二叉查找树进行插入时,可能会破坏二叉查找树的平衡。为了降低对于树的访问次数,实现树的平衡,我们需要新的数据结构来处理这样的问题。

首先来了解一下 2-3 查找树 (一种多叉树)、

2节点: 包含一个键(及其对应的值)和两条链,左连接指向2-3树中都小于该节点,右链接所指向的值都大于该节点。

3节点:包含两个键(及其对应的值)和三条链,左链接指向2-3树中的键都小于该节点,中链接指向的2-3树中的键都位于该节点的两个键之间,右连接指向的2-3树中的键都大于该节点。

b树: 每一个结点都是 key value(data) 的形式   

b树分为几阶树 当他的阶数位M的时候 具有以下特点

每个结点最多含有M个链接

跟结点 含有两个子节点

每个结点最多含有 M个子节点

每个非根结点含有M-1个key 值

每个结点最少含有 ceil(m/2)-1 个键 ceil 是向上取整函数 m=5 ceil(m/2)=3

我们来构建一个 五阶b树(data省略不写,完整的是要写的) 

 插入25 按顺序进行插入 每个非跟结点 最少要含有2个key值 所以把中间的拿上来

 

 最后插入完成是这种

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值