B树、B-树、B+树、B*树的特点 及其性能比较 http://blog.csdn.net/panghuizl/article/details/6921631

B树、B-树、B+树、B*树的特点 及其性能比较

标签: 存储算法
2011-10-31 15:38 
3658人阅读 
评论(1) 
收藏 
举报
《B树、B-树、B+树、B*树的特点 及其性能比较 http://blog.csdn.net/panghuizl/article/details/6921631》 
分类:   各种数据结构(1) 
《B树、B-树、B+树、B*树的特点 及其性能比较 http://blog.csdn.net/panghuizl/article/details/6921631》

B树、B-树、B+树、B*树的特点:

  B树:二叉树,每个结点只存储一个关键字,等于则命中,小于走左结点,大于走右结点;

       B-树:多路搜索树,每个结点存储M/2M个关键字,非叶子结点存储指向关键字范围的子结点;

       所有关键字在整颗树中出现,且只出现一次,非叶子结点可以命中;

       B+树:在B-树基础上,为叶子结点增加链表指针,所有关键字都在叶子结点中出现,非叶子结点作为叶子结点的索引;B+树总是到叶子结点才命中;

       B*树:在B+树基础上,为非叶子结点也增加链表指针,将结点的最低利用率从1/2提高到2/3

性能比较:

性能相当,都等价于在关键字全集做一次二分查找;

B-树 改善了B树的平衡问题, 

B+树比 B-树 更适合文件索引系统(结构上的改善)

B*树比B+树改善了空间利用率。

原文连接:B树、B-树、B+树、B*树的特点

红黑树和AVL树的比较:

红黑树:

(1)并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。红黑树能够以O(log2 n) 的时间复杂度进行搜索、插入、删除操作。

(2)此外,由于它的设计,任何不平衡都会在三次旋转之内解决。红黑树能够给我们一个比较“便宜”的解决方案。红黑树的算法时间复杂度和AVL相同,但统计性能比AVL树更高。

AVL树:

(1)它的左子树和右子树都是AVL树,左子树和右子树的高度差不能超过; 

(2) 查找、插入和删除在平均和最坏情况下都是O(log n),增加和删除可能需要通过一次或多次树旋转来重新平衡这个树;

(3)一棵n个结点的AVL树的其高度保持在0(log2(n)),不会超过3/2log2(n+1) 
一棵n个结点的AVL树的平均搜索长度保持在0(log2(n)). 
一棵n个结点的AVL树删除一个结点做平衡化旋转所需要的时间为0(log2(n)).
 


    原文作者:B树
    原文地址: https://blog.csdn.net/wangyin159/article/details/50726109
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞