设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为______。
A. 349
B. 350
C. 255
D. 351
O.O!莫非是我算错了o.o?~~~~~为什么我算得结果是344呢~~~~~~~~~~这道题貌似没有直接公式,就算是有不好意思啊我不是太会记公式的人,但是题目的思路很简单,首先通过节点数求出完全二叉树的高度h,这个公式你知道的吧,计算出来结果应该是9,然后你再用节点总数减去前八层的节点数之和就是你所求的结果~~~~
嗯嗯,我又看了看,选b,这个题目没有现成的公式,考验的是你对二叉树的理解能力与数学的思想,首先求出树的高度h,h应该是10不是9,上面我算错了T.T,然后求出一到九层的节点总数,应该是2的9次方减去1,是511,再用节点总数减去255就是最后一层叶子节点的个数699-511=188,而最后一层有188个节点就说明上一层有94个非叶节点,你在用该层的节点总数减去这些非叶子节点就是这一层的叶子节点数,及256-94=162,最后两层的叶子节点数之和就是188+162=350个,所以选B~
----
link: http://zhidao.baidu.com/question/175277118.html?fr=qrl&index=0
分享到:
相关推荐
本文实例讲述了C++使用递归和非递归算法实现的二叉树叶子节点个数计算方法。分享给大家供大家参考,具体如下: /*求二叉树叶子节点个数 -- 采用递归和非递归方法 经调试可运行源码及分析如下: ***/ #include #...
二叉树叶子结点个数计算.doc
实验报告 采用链式存储结构求任意给出的二叉树的叶子节点个数,过程有详解,包括过程中的错误。
程序二叉树叶子结点个数计算.doc
0. 建立二叉树(方法0) 1. 建立二叉树(方法1) 2. 统计叶子结点个数 3. 求二叉树的树深
此程序可以建立二叉树并输出此二叉树的叶子节点总数与节点总数
编写递归算法,计算二叉树中叶子结点的数目
先序创建二叉树并遍历计算节点数 先序创建二叉树并遍历计算节点数
设二叉树采用链式存储结构,试设计一个算法计算一颗给定二叉树叶子节点的数目
根据键盘输入的扩展二叉树的前序遍历序列建立相应的二叉树,并计算该二叉树的叶子结点个数
。。。
递归算法计算二叉树中叶子节点的数目
。。。
。。。
完整的计算C++二叉树叶子结点数及深度的程序,希望能帮到大家。
4个叶子节点A1,A2,A3,A4,可构造出如下完全二叉树,共5种。 再例如:5个叶子结点,A1,A2,A3,A4,A5,可构造出如下若干种完全二叉树形状,像这样的完全二叉树共有14种. Input 输入n,表示构造的完全二叉树有n个叶结点...
二叉树的创建、遍历、以及左右子树交换,非递归遍历,叶子节点计算及线索树等完整程序
二叉树采用链式存储结构,此算法可以实现计算一颗给定的二叉树中叶子结点的数目