一棵二叉树中总共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为多少个?
2019-02-10 00:09
513 查看
二叉树就是说一个结点下面可能有两个子结点(度为2),也可能有一个子结点(度为1),或者没有子结点(度为0,也叫叶子结点)
那么在这棵树中只可能出现三种情况:度为2,度为1,度为0(叶子结点)。不可能出现其他情况,否则就不是二叉树了。
所以,总结点数应该为三者之和。
已经知道:度为0=70,度为1=80
度为2=度为0-1=69(这是公式,原因说起来太麻烦,你自己
画个图可能会更清楚。如下图)
所以:总结点数=度为2+度为1+度为0=69+80+70=219
对任何一个二叉树,若齐叶子结点数为n0,度为2的结点数为n2,则n0=n2+1。证明如下:
设一颗二叉树上叶子结点数为n0,单分支结点数为n1,双分支结点数为n2,则总结点数为:n0+n1+n2。
而一颗二叉树中,所有结点的分支数(即度数)应等于单分支结点数加上双分支结点数的两倍,即总分支数=n1+2n2。
由于二叉树中除了根结点以外,每个结点都有唯一的一个分支指向它,因此二叉树中:总分支数=总结点数-1。
即n1+2n2=n0+n1+n2-1。即n0=n2+1。
相关文章推荐
- 一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 219
- 设一棵完全二叉树共有700个结点,则该二叉树共有多少个叶子结点?
- 设某种二叉树有如下特点:每个结点要么是叶子结点,要么有2棵子树。假如一棵这样的二叉树中有m(m>0)个叶子结点,那么该二叉树上的结点总数为( )。
- 设一棵完全二叉树共有700个结点,求该二叉树有几个叶子结点?
- n个结点共可构造多少种二叉树?
- 【数据结构作业四】以二叉链表作存储结构,建立一棵二叉树,并输出该二叉树的先序、中序、后序遍历序列、高度和其叶子结点数。
- !求二叉树中从根结点到叶子结点的路径
- 给定一棵二叉树,每个结点包含一个值。打印出所有满足以下条件的路径: 路径上结点的值加起来等于给定的一个值。注意:这些路径不必从根结点开始。
- 【31】给定一个二叉树打印出所有从根结点到叶子结点路径和为 k 的路径
- n个结点共可构造多少种二叉树?
- N个结点可构成多少不同的二叉树
- 给定一棵二叉树,创建含有某一深度上所有结点的链表
- 给定一棵二叉树,设计一个算法,创建含有某一深度上所有结点的链表(比如:若一棵树的深度为D,则会创建出D个链表)
- 二叉树求深度和宽度,叶子节点数,总结点数
- 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 二叉树的创建,遍历,叶节点数,总结点数,深度
- 数据结构与算法分析笔记与总结(java实现)--二叉树18:二叉树的下一个结点
- C语言二叉树创建、遍历以及统计结点、叶子结点