算法导论18.2-4

来源:互联网 发布:哈尔滨软件开发88087 编辑:程序博客网 时间:2024/06/06 02:16
  • 问题描述
    假设关键字{1,2,…,n}被插入一棵最小度数为2的空B树中,那么最终的B树有多少个结点?
  • 问题求解
    把关键字{1,2,…,11}一次插入B树中的变化如下所示:
    插入1 2 3
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    这里写图片描述
    可以发现,由于每次插入的树都比前面的大,因此新关键字永远是放到了最右边的结点中。除了最右边一直往下的路径上的结点(记为R)中的关键字数有可能大于1外,其他所有结点的关键字数量都是1.当所有的R结点都有三个关键字时,有最少的节点数。此时n=2h+11+2(h+1),其中h是B树的高度,结点数是2h+11。而2h+11=n2(h+1),其中h=θ(lgn),因此节点数为θ(n)
原创粉丝点击