对于一个满二叉树,m个树叶,p个分支节点,n个结点,则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对于一个满二叉树,m个树叶,p个分支节点,n个结点,则相关的知识,希望对你有一定的参考价值。

对于一个满二叉树,m个树叶,p个分支节点,n个结点,则n=(2^h)-1。

二叉树是一棵空树,或者是一棵由一个根节点和两棵互不相交的,分别称作根的左子树和右子树组成的非空树;左子树和右子树又同样都是二叉树。



扩展资料:

完全二叉树的特点是叶子结点只可能出现在层序最大的两层上,并且某个结点的左分支下子孙的最大层序与右分支下子孙的最大层序相等或大1。

由m(m≥0)棵互不相交的树构成一片森林。如果把一棵非空的树的根结点删除,则该树就变成了一片森林,森林中的树由原来根结点的各棵子树构成。

参考技术A 设度为1的点为p1个,设度为2的点为p2个。
p1+p2=p
m+p=n
p1+2p2=n-1追问

答案是n=2p-1

追答

首先确立一下分支节点的定义,分支节点就是非叶节点。
m+p=m+p1+p2=n=p1+2p2+1
=>m=p2+1=>m-1=p2
=>p=p1+m-1
=>n-1=p1+2m-2=>n=p1+2m-1
若n=2p-1
则p1+2m-1=2p1+2m-2-1=>p1=2
等式不总是成立,答案错误。

追问

那答案是什么

追答

不好意思,我没注意到是满二叉树。不过这就好办了。 首先假定满二叉树是k层,则分支节点数位即为2^(k-1)-1,m=2^(k-1) n=2^k-1, 所以n=2p-1。

追问

我还是不太明白 你QQ号是什么 能给我讲讲吗 谢谢你了

追答

我没有qq号,不过可以给你讲解一下。关键是知道满二叉树的定义。然后用求和公式可以算出结点总数。

参考资料:http://baike.baidu.com/view/427110.htm

本回答被提问者和网友采纳
参考技术B n=p+m????要表达啥???追问

求m,p,n的关系

二叉树_顺序存储

参考技术A

满二叉树 (Full Binary Tree)
所有分支结点都有存在左子树和右子树,并且所有叶子结点都在同一层上。
完全二叉树 (Complete Binary Tree)
如果一棵具有n个结点的二叉树与满二叉树的前n个结点的结构相同,则称这棵二叉树为完全二叉树。

重要性质
对于一棵有n个结点的 完全二叉树 的结点按照从上至下和从左至右的顺序对所有结点从零开始到 n-1 进行顺序编号,则对于序号为i的结点(0≤i≤n),有:
(1)如果 i=0,则结点i是二叉树的根;如果i>0,则其 双亲 是结点 (i-1)/2 (整除)。
(2)如果2i+1≥n,则结点i无左孩子;否则,其 左孩子 是结点 2i+1
(3)如果2i+2≥n,则结点i无右孩子;否则,其 右孩子 是结点 2i+2

根据上面两点,得到二叉树顺序存储的实现:

定义:

获取双亲节点下标:

左子节点下标:

右子节点下标:

主函数测试:

总结:
1、对于完全二叉树或接近于完全的二叉树,用顺序存储可以省空间简化操作;否则,都不适宜用顺序存储。
2、顺序存储结构通病:必须预先给出数组的存储空间大小MaxSize。

以上是关于对于一个满二叉树,m个树叶,p个分支节点,n个结点,则的主要内容,如果未能解决你的问题,请参考以下文章

第三章之树

深度为k的二叉树至多有多少个结点

二叉树_顺序存储

完全二叉树与满二叉树的区别是啥?

证明具有n个结点的二叉树,其深度至少为[log2n]+1,求详细证明?

一个二叉树能有几个根结点?