• b树和bst树
  • B+树介绍

    B+树 B+树和二叉树、平衡二叉树一样,都是经典的数据结构。B+树由B树和索引顺序访问方法(ISAM,是不是很熟悉?对,这也是MyISAM引擎最初参考的数据结构)演化而来,但是在实际使用过程中几乎已经没有使用B树的情况了。 B+树的定义十... […]

    阅读更多

  • 高级数据结构研究-B树系列以及红黑树

    程序员做的越久,越发觉得基本功显得越来越重要了。基本功不扎实会潜移默化的影响你的程序开发,这不是,上次浏览博客,看到了一篇运用B+树实现... […]

    阅读更多

  • B-树可以采用二叉树的形式吗

    在一次关于数据库系统的CS考试中,有一个问题被问到使用B树索引在给定系统中查找记录的最大块访问次数是多少。B树的顺序是4,当所有内部节点都是半满的时候,条目的最大数量是4(因为如果它们少于半满,它们将与邻居合并)。因此,当每个节点有2个子树... […]

    阅读更多

  • 一步步分析为什么B+树适合作为索引的结构 以及索引原理 (阿里面试)

    mysql的B+树索引 查找使用了二分查找,redis 跳表也使用了二分查找法,kafka查询消息日志也使用了二分查找法,二分查找法时间复杂度O(logn); 参考:redis的索引底层的 跳表原理 实现 聊聊Mysql索引和redis跳... […]

    阅读更多

  • 关于B+树, 你要了解的都在这里

    索引是一种数据结构,用于帮助我们在大量数据中快速定位到我们想要查找的数据。索引最形象的比喻就是图书的目录了。注意这里的大量,数据量大了索引才显得有意义,如果我想要在 [1,2,3,4] 中找到 4 这个数据,直接对全数据检索也很快,没有必... […]

    阅读更多

  • 常见问题:MySQL/B+树

    平衡二叉树 此前讲红黑树时也提到了平衡二叉树,红黑树和AVL树都是能保证树不退化的平衡二叉树,平衡二叉树采用二分思想组织数据,能大大提高单点查找数据的效率,其组装过程略。 作为对比,此处也列出平衡二叉树规则 节点最多有两个子节点。 节点... […]

    阅读更多

  • MySQL底层数据结构选用B+树的原因

    ? ? ? ?我们都知道MySQL底层数据结构是选用的B+树,那为什么不用红黑树,或者其他什么数据结构呢? ????????红黑树是一种自平衡二叉查找树,Java8中的hashmap就用到红黑树来优化它的查询效率,可见,红黑树的查询效率还... […]

    阅读更多

  • 数据库索引的基石----B树

    数据结构相对来说比较枯燥, 我尽量用最易懂的话,来把B树讲清楚。学过数据结构的人都接触过一个概念----二叉树。简单来说,就是每个父节点最多有两个子节点。为了在二叉树上更快的进行元素的查找,人们通过不断的改进,从而设计出一种高效搜索的树-... […]

    阅读更多

  • B树、B+树、红黑树、AVL树比较

    B树是为了提高磁盘或外部存储设备查找效率而产生的一种多路平衡查找树。 B+树为B树的变形结构,用于大多数数据库或文件系统的存储而设计。 B树相对于红黑树的区别 在大规模数据存储的时候,红黑树往往出现由于树的深度过大而造成磁盘IO读写过于... […]

    阅读更多

  • 一些有趣的B+树优化实验

    作为目前数据库引擎的两种主要数据结构,LSM-tree和B+-tree在业界已经有非常广泛的研究。相比B+-tree,LSM-tree牺牲一定的读性能以换取更小的写放大以及更低的存储成本,但这必须建立在已有的HDD和SSD的基础上。 探索... […]

    阅读更多