Java教程

求二叉树中所有度为2的结点个数

本文主要是介绍求二叉树中所有度为2的结点个数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

求二叉树中所有度为2的结点个数

思路

利用树的递归性质,使用递归算法,结点b以下的所有结点中度为2的结点个数为左子树+右子树中度为2的结点个数+b自身是否为度为2
的结点

1、f(b)=0 若b为null
2、f(b)=f(b->lchild)+f(b->rchlid)+1 若b为双分支结点
3、f(b)=f(b->lchild)+f(b->rchlid) 其他情况,即b为单分支结点或叶结点

另一解法

也可以依次遍历所有结点,检查左右子树是否存在,但是这种比较麻烦。

这篇关于求二叉树中所有度为2的结点个数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!