【小试牛刀】来源:本题为2014年东北农业大学822数据结构考研真题
设树T的度为4,其中度为1、2、3、4的结点的个数分别为4、2、1、1,则T中叶子结点的个数为多少?
答案:8
1个度为4的结点往下分了四个叉,带来的结果是将叶子节点数量+3.
1个度为3的结点往下分了三个叉,带来的结果是将叶子节点数量+2.
1个度为2的结点往下分了两个叉,带来的结果是将叶子节点数量+1.
度为1的结点带来的结果是将叶子节点向下延伸,不会增加叶子节点数量.
树的叶子结点个数 = 根节点数量1个 + 3 × 度为四的结点数 + 2 × 度为三的结点数 + 度为二的结点数 = 1 + 3 + 2 + 2 = 8.
时间复杂度计算:
{i=1;
while(i〈=n)
i=i*2; }
语句①执行次数1次,
语句②③执行次数f(n), 2^f(n)〈=n,则f(n) <=log2n;
算法执行时间: T(n)= 2log2n +1
时间复杂度:记为O(log2n) ;