本文目录
- 求一棵二叉树的结点总数的算法
- 二叉树结点的计算
- 二叉树结点计算问题
- 一棵完全二叉树共有个节点,该二叉树有多少叶子节点怎么算,谢谢
- 告诉了一棵完全二叉树的总结点个数,求叶子结点个数怎么计算谢谢帮助
- 二叉树结点计算
- 二叉树叶子结点怎么算二叉树叶子结点如何算
求一棵二叉树的结点总数的算法
intGetCount(BTreeT){if(T==NULL)return0;return1+GetCount(T.left)+GetCount(T.right);//=====采用后序遍历求二叉树的深度、结点数及叶子数的递归算法========intTreeDepth(BinTreeT){inthl,hr,max;if(T){hl=TreeDepth(T-》lchild);//求左深度hr=TreeDepth(T-》rchild);//求右深度max=hl》hr?hl:hr;//取左右深度的最大值NodeNum=NodeNum+1;//求结点数if(hl==0&&hr==0)leaf=leaf+1;//若左右深度为0,即为叶子。return(max+1);}elsereturn(0);}}
二叉树结点的计算
首先我们知道,前序遍历的规则是:根结点→左子结点→右子结点中序遍历是:左子结点→根结点→右子结点后序遍历是:左子结点→右子结点→根结点那么,对于一棵二叉树,前序遍历的第一个结点一定是这棵树的根结点,即根结点是a。在中序遍历的顺序dgbaechf中,以a分成左、右两边,左边是dgb,右边是echf。所以,这棵树现在可以确定如下: a / \dgb echf接下来再分别对左子树和右子树进行类似的操作。对于左子树dgb来说,在前序遍历abdgcefh中找到bdg,证明这子树的根是b,那么现在可以确定的树结构如下: a / \ b echf /dg再看dg,前序遍历中的顺序为dg,所以d是dg这部分子树的根,那么又因为中序遍历的dg顺序也是dg,所以g是右子结点。即: a / \ b echf /d \ g现在看echf这部分子树,前序中顺序是cefh,所以子树根结点是c,那么左子结点是e,右子树是hf:得到: a / \ b c / / \d e hf \ g最后只剩下hf部分了,前序遍历中是fh,所以根是f,那么h就是左子结点。现在得到了整棵树: a / \ b c / / \d e f \ / g h对这棵树再进行后序遍历就行了,结果就是:gdbehfca
二叉树结点计算问题
只有一个答案啊,因为二叉树中n0 = n2 + 1,现在度为2的结点个数是7,所以度为0的结点(也就是叶子)个数为8,并且完全二叉树中没有度为0的结点,因此二叉树的全部结点个数为15 即使是放宽为完全二叉树,树中度为1的结点最多为1,因此也只可能是有15或者16个结点顺便说一句,其实按照刚才的计算,即使是一般二叉树,结点数量最少就是15了,绝不可能会出现9和14的答案,或者说题目十分不全
一棵完全二叉树共有个节点,该二叉树有多少叶子节点怎么算,谢谢
满意答案望远镜8级2010-03-22完全二叉树看是几层的,比如3层完全二叉树,就有7个结点,结点总数是(2的3次方)减1个;叶子结点数是2的(3减1次方)个,就是4个。如果是n层完全二叉树,结点总数是(2的n次方)减1个;叶子结点数是2的(n减1次方)个;会了就非常简单。这回你明白了吗?追问:如果完全二叉树700个结点,有多少叶子结点回答:所谓完全二叉树,是不可能有700个结点的,完全二叉树的第N层,都会是2的N-1次幂个结点,而上一层,则是N-2次幂个结点,所以总节点数应该是2N次幂减1,700不是一个这样的数,所以不会有700个结点。如果是两层,那应该是4-1=3个结点,三层,是8-1=7个结点四层,是16-1=15个结点五层,是32-1=31个结点六层,是64-1=63个结点七层,是128-1=127个结点八层,是256-1=255个结点九层,是512-1=511个结点十层,是1024-1=1023个结点。。。。因此,不会出现700个结点的完全二叉树。追问:可是我做到这个题了啊!回答:你确定是完全二叉树吗?有“完全”二字吗?追问:题目中确实有啊,答案是350回答:正好是总结点数的一半!那这个好记了
告诉了一棵完全二叉树的总结点个数,求叶子结点个数怎么计算谢谢帮助
前九层的结点就有2^9-1=511个
而第九层的结点数是2^(9-1)=256
所以,第十层的叶子结点数是699-511=188个
现在来算第九层的叶子结点个数:
由于第十层的叶子结点是从第九层延伸的,所以应该去掉第九层中还有子树的结点。
因为第十层有188个,所以应该去掉第九层中的188 / 2=94个
所以,第九层的叶子结点个数是256-94=162,加上第十层有188个,最后结果是350个。
扩展资料:
二叉树性质
1、 在非空二叉树中,第i层的结点总数不超过
, i》=1;
2、深度为h的二叉树最多有
个结点(h》=1),最少有h个结点;
3、对于任意一棵二叉树,如果其叶结点数为N0,而度数为2的结点总数为N2,则N0=N2+1;
4、具有n个结点的完全二叉树的深度为
(注:表示向下取整)
5、有N个结点的完全二叉树各结点如果用顺序方式存储,则结点之间有如下关系:
若I为结点编号则 如果I》1,则其父结点的编号为I/2;
如果2*I《=N,则其左孩子(即左子树的根结点)的编号为2*I;若2*I》N,则无左孩子;
如果2*I+1《=N,则其右孩子的结点编号为2*I+1;若2*I+1》N,则无右孩子。
6、给定N个节点,能构成h(N)种不同的二叉树。
h(N)为卡特兰数的第N项。h(n)=C(2*n,n)/(n+1)。
7、设有i个枝点,I为所有枝点的道路长度总和,J为叶的道路长度总和J=I+2i
参考资料来源:百度百科-二叉树
二叉树结点计算
1.深度为m的满二叉树有2^m-1个结点.因为满二叉树的定义为:一颗深度为k且有2^k-1个结点的二叉树称为满二叉树.2.若要树深为最小,显然要使除最后一层外的每一层都有尽可能多的结点,即要二叉树为完全二叉树.由二叉树的一个重要性质:具有n个结点的完全二叉树的深度为=6
二叉树叶子结点怎么算二叉树叶子结点如何算
1、结点的度是指,该结点的子树的个数,在二叉树中,不存在度大于2的结点。2、计算公式:n0=n2+1,n0是叶子节点的个数,n2是度为2的结点的个数,n0=n2+1=5+1=6。3、故二叉树有5个度为2的结点,则该二叉树中的叶子结点数为6。