多路查找树(mutil-way search tree)其每一个节点的孩子数能够多于两个,且每一个结点处可存储多个元素。 算法
4中特殊形式:2-3树、2-3-4树、B树、B+树 数据库
2-3树: 数据结构
是这样的一棵多路查找树:其中的每一个节点都具备两个孩子或三个孩子。一个2节点包含一个元素和两个孩子(或没有孩子);一个3节点博阿含一小一大两个元素和3个孩子(或没有孩子)。 优化
B树:是一种平衡的多路查找树,2-3树和2-3-4树都是B树的特例。节点最大的孩子数成为B树的阶。 spa
在计算机科学中,B树是存储排序数据并容许以O(logn)的运行时间进行查找,顺序读取,插入和删除的数据结构。B树,归纳来讲是一个节点能够拥有多于2个子节点的二叉查找树。与自平衡二叉查树不一样,B—树为系统最优化大块数据的读和写操做。B-Tree算法减小定位记录时所经历的中间过程,从而加速存取速度。广泛应用于数据库和文件系统。 排序
在节点存取时间远超过里层节点存取时间的条件下,B树在可行的实现中不少优点,由于如此存取节点的开销被分摊到里层节点的屡次操做上。这一般出如今当节点存储在二级存储器如硬盘存储器上。经过最大化内部里层节点的子节点的数量,树的高度减少,存取节点的开销被缩减。另外,从新平衡树的动做也更少出现。子节点的最大数量取决于,每一个子节点必需存储的信息量,和完整磁盘块的大小或者二次存储器中相似的容量。虽然2-3 树更易于解释,实际运用中,B树使用二级存储器,须要要大量数目的子节点来提高效率。 内存
若是内存和外村交换数据的次数频繁,会形成时间效率上的瓶颈,那么B树结构怎么减小次数? 效率
外存,如硬盘,将全部信息分割成相等大小的页面,每次硬盘读写的都是一个或多个完整的页面,对于硬盘来讲,一页长度多是211或214个字节。 计算机科学
B树的阶数与硬盘存储的页面大小相匹配。好比一棵B树的阶数是1001即(一个节点包含1000个关键字),高度为2则它能够存储10亿个关键字,咱们只要让根节点持久地保留在内存中,那么这颗树上寻找某一个关键字最多须要两次硬盘读写。 遍历
B+树
相比B树,解决全部元素遍历等基本问题。