- 问题描述
假设关键字{1,2,…,n}被插入一棵最小度数为2的空B树中,那么最终的B树有多少个结点? - 问题求解
把关键字{1,2,…,11}一次插入B树中的变化如下所示:
可以发现,由于每次插入的树都比前面的大,因此新关键字永远是放到了最右边的结点中。除了最右边一直往下的路径上的结点(记为R)中的关键字数有可能大于1外,其他所有结点的关键字数量都是1.当所有的R结点都有三个关键字时,有最少的节点数。此时 n=2h+1−1+2(h+1) ,其中 h 是B树的高度,结点数是2h+1−1 。而 2h+1−1=n−2(h+1) ,其中 h=θ(lgn) ,因此节点数为 θ(n) 。
算法导论18.2-4
最新推荐文章于 2022-09-18 20:17:23 发布