B树简介

来源:互联网 发布:单片机tssop28封装尺寸 编辑:程序博客网 时间:2024/06/08 09:10

b树又称二叉搜索树,英文全称binary search tree ,其定义如下:

1、每个节点最多能拥有2个子节点(即每个非叶子节点最多拥有2个指针指向左右节点);

2、非叶子节点的左指针指向小于其关键字的左子树,右指针指向大于其关键字的又子树;

3、每个节点节点存储一个关键字;


查找过程:

b树的搜索从根节点开始:

如果查找的关键字和节点的关键字相等则命中,查找成功;

如果查找的关键字小于节点的关键字,则进入左子树查找;

如果查找的关键字大于节点的关键字,则进入右子树查找;

如果左右子树为空,则报告查找不到对应的关键字。


数据移动:

由于b树左右指针的特点,数据删除和插入只要修改对应指针的指向即可,因此不需要移动大段的内存数据,基本上是常数开销;


性能分析:

对于平衡二叉树(左右子树节点分布比较均匀)来说,和二分查找的性能比较接近。但是如果经过多次的数据插入和删除操作后,可能改变二叉树的结果,使平衡二叉树变成了非平衡二叉树,而导致查询性能的下降。因此b树的实际使用过程中通常需要加上平衡算法。


演示动画:

 


0 0
原创粉丝点击