B-tree, Binary Tree, B+Tree, B*-Tree 的概念对比

来源:互联网 发布:osx win7 linux c博客 编辑:程序博客网 时间:2024/06/06 02:12

参考文章

从B 树、B+ 树、B* 树谈到R 树

  • 梳理一下概念

    • Binary Tree != B -tree

      • Binary Tree是二叉树
      • B-tree 中的B代表的是Balanced , 但B-tree又不能简单扩充为balanced tree, 因为B-tree只是平衡树的一种
    • 动态查找树主要有:

      • 二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree )

        • 这三种是典型的二叉查找树结构,其查找的时间复杂度O(log2N)与树的深度相关,那么降低树的深度自然会提高查找效率
        • 平衡二叉查找树(Balanced Binary Search Tree)由
          (Adelson-Velskii and Landis)于1962年首先提出的,所以又称为AVL树。
        • 红黑树(Red-Black Tree )———————– 是一种自平衡二叉查找树,它的统计性能要好于平衡二叉树,它是在1972年由鲁道夫·贝尔发明的,他称之为”对称二叉B树,”The original data structure was invented in 1972 by Rudolf Bayer[2] and named “symmetric binary B-tree,”
        • 首先被提出来的平衡树的方式是AVL树,然后提出来的是Tree Heap树,最后目前在实践中最为高效的红黑树。
      • 多路平衡查找树,也就是多叉树,

        • B-tree/B+-tree/ B*-tree (B~Tree)。
        • B-tree(B树) ———————————又叫平衡多路查找树 ,概括来说是一个节点可以拥有多于2个子节点的二叉查找树。与自平衡二叉查找树不同,B-树为系统最优化大块数据的读和写操作
        • B+tree 是 B-tree的变种
        • B*-tree 是 B+tree的变种

        • -
0 0
原创粉丝点击