设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点

问题描述:

设一棵完全二叉树共有500个结点,则在该二叉树中有______个叶子结点
答案是250个,但是我的思路是满2叉树的结点是2的K次方减1,所以,满2叉树应该有511个结点.但现在只有500个,所以缺少了11个右结点.所以,叶子结点应该是256减11为245个.错哪里了,

你错误在:“所以缺少了11个右结点”的“右”字上.是事实是最后一层上少了倒着少了11个结点.明确的说是少了6个右,5个左.
所以,应该256-11,但是由于最后一层少了11个结点,所以上一层多了5个叶子结点,所以最终答案应该是:256-11+5=250那怎么判断出少了几个右几个左呢?请先理解什么叫完全二叉树。(节点是依次的,从上至下,从左到右按顺序的)所以既然你说它是完全二叉树,而它右少了节点,那么少的节点肯定是从最后一个依次向前少的呗少的顺序应该是:右,左,右,左。。。这样的话,少了11个,肯定就是6个右,5个左呀建议你先理解完全二叉树的定义,然后画个图就明白啦