共2n个结点的完全二叉树叶子节点个数是多少
完全二叉树的性质是:除了最后一层,其他层都是满的,并且最后一层的节点从左到右依次排列。因此,最后一层的叶子节点个数就是这棵树的节点总数减去前面几层的节点数。
第 k 层有 2^(k-1) 个节点,因此前面 n-1 层的节点数为:
2^0 + 2^1 + 2^2 + ... + 2^(n-2) = 2^(n-1) - 1
最后一层有 x 个叶子节点,满足:
2^n <= 2n < 2^(n+1)
因此,n <= log2(2n) < n+1,即 n <= log2(x) < n+1。因为最后一层是满的,所以 x 是 2 的整数次幂,即 x = 2^k。因此,n <= k < n+1。
综上所述,叶子节点的个数 x 满足:
2^n <= x <= 2^(n+1) - 1
又因为 x 是 2 的整数次幂,所以 x 的取值范围是:
2^n, 2^(n+1), 2^(n+2), ... , 2^(2n-1)
共有 2n-2^(n-1) 个可选的 x 值,其中只有一个是符合要求的。因此,叶子节点的个数是 2^n。
原文地址: https://www.cveoy.top/t/topic/baQX 著作权归作者所有。请勿转载和采集!