数据结构 完全二叉树计算节点数问题。

2024-11-15 22:33:59
推荐回答(1个)
回答1:

完全二叉树只有最后一层可以是不能满的(而且其叶子结点要全部靠右)。699 显然在511 和1023之间。因此最后一层的叶子节点为:699 - 511(9层满二叉树的节点个数) = 188,而这188个叶子结点一共占据了94个第九层节点,也就是说第九层还有有 255 - 94 = 161个节点是叶子结点。因此,总叶子结点数为188 + 161 = 349

完全二叉树是由满二叉树而引出来的。对于深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。一棵二叉树至多只有最下面的一层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,而在最后一层上,右边的若干结点缺失的二叉树,则此二叉树成为完全二叉树。