2026/4/6 18:16:53
网站建设
项目流程
二叉树、AVL树、红黑树使得查找、插入、删除数据的效率降到了O(logN)级别但通常是把数据全部加载到内存中进行处理的数据量通常没有特别大。当有超大规模的数据量时大到内存都存不下的时候只能存储在硬盘里。由于二叉树、AVL树、红黑树是二叉树当从硬盘读取数据会访问硬盘多次树越高硬盘的访问次数越多。降低树高就可以降低这个耗时的硬盘访问操作。在数据量不变的情况下降低树高这个时候需要B树上场了。B树也是一种平衡搜索树与AVL树、红黑树不同的是每个结点不止有一个元素也不止两个分叉即是一个多叉平衡搜索树。这样每个结点就能保存更多的数据树的高度也就被压缩硬盘的访问次数也跟着减少了。硬盘读取物理地址连续的多个字节和读取一个字节的耗时几乎没有区别。三个分叉称为三叉或三阶B树五个分叉称为五阶B树成百上千个叉就称为.....除叶子结点带有元素的结点最下面还有一层空结点。包含数据的结点称为内部结点空结点称为外部结点。这些空结点用来查找失败也称为失败结点。访问结点在硬盘中进行相关处理是在内存中进行。B树需要满足三个特性1.平衡B树所有的叶子结点一定在同一层。2.有序B树任何一个结点内的数据都是有序的。3.多路n个分支n-1个元素