图:CyHawk · CC BY-SA 3.0 · Wikimedia Commons
B树1972
B-tree
可允许对数时间写入之自平衡树状资料结构
B树,是一种在计算机科学自平衡的树,能够高效的存储与访问键值对数据,但要求键数据类型上存在一全序。这种数据结构能够在对数时间内完成查找数据、插入数据及删除的操作,与此同时还可以提供对数据的有序遍历。B树,概括来说是一个一般化的二叉搜索树,而每个节点可以拥有2个以上的子节点。与自平衡二叉查找树不同,B树适用于读写相对大的数据块的存储系统,例如磁盘。B树减少定位记录时所经历的中间过程,从而加快访问速度。由于B树允许存在超过2个子节点,其单个节点的大小较大,因此具有良好的缓存友好性,常被用来组织处于外部存储上,读写操作开销较大的数据结构,如数据库和文件系统等。但近来随CPU的高速缓存逐渐增大,即使是对于处于内存中的数据解构,缓存友好性也变得日渐重要,因此一些软件也开始选择用B树来替代传统的红黑树等理论上更高效但缓存友好性较差的数据结构。
摘自维基百科「B树」,CC BY-SA 4.0
- 类型
- 数据结构
- 发现 / 发明时间
- 1972 年
- 发现者 / 提出者
- 鲁道夫·拜尔、爱德华·M·麦克莱特
- 研究学科
- algorithmics
- 学科
- 计算机科学