<p>最近在复习数据结构的时候看到了B树的两种定义,一种是算法导论中的度数说;另一种是维基百科的阶数说。</p><p>在此记录一下:</p><p>度数:在树中,每个节点的子节点(子树)的个数就称为该节点的度(degree)。</p><p>阶数:(Order)阶定义为一个节点的子节点数目的最大值。(自带最大值属性)</p><p>然后再结合B树来理解具体含义:</p><p>B树的具体性质这里就不在阐述了,说一下算法导论中与度数相关的:</p><p>每个节点(结点)所包含的关键字个数有上界和下界。用一个被称为B树的最小度数(minmum degree)的固定整数t>=2来表示这些界。</p><p>1、除根节点外每个节点至少包含 t-1 个关键字;至少有t个孩子。</p><p>2、每个节点至多可包含 2t-1 个关键字,至多 2t 个孩子节点。</p><p>比如当t=2时,每个内部节点可以有2,3,4个孩子。此时该B树的阶为4。</p><p>其实通过度定义的B树和通过阶数定义的B树,区别就是一个是用的这个B树节点的最小度数一个是用的这个树节点的最大度数。</p><p>一个t度的B树满足:</p><p>1、所有叶子节点均在同一层</p><p>2、B树可以用最小的度t定义,其中度t的值由磁盘块的大小来决定</p><p>3、所有的节点除了根节点外都至少有t-1个关键字,根节点可以有最少的节点树</p><p>4、所有的节点数(包括根节点)都包含至多2t-1个关键字</p><p>5、节点的孩子数等于关键字数目+1</p><p>6、所有节点内的数据有序的且递增。在k1关键字和k2关键字之间的孩子树上的所有关键字都大于K1且小于K27、B-Tree grows and shrinks from root which is unlike Binary Search Tree. Binary Search Trees grow downward and also shrink from downward.</p><p>8、Like other balanced Binary Search Trees, time complexity to search, insert and delete is O(Logn).</p>