递归计算二叉树的节点数量

递归计算二叉树的节点数量

设计思路

  • 首先肯定是需要遍历整个树,直到叶子节点为止,确定好递归的终止条件。
  • 二叉树的节点数量=度为1的节点+度尾2的节点+一个根节点。

代码展示

//计算一颗二叉树的所有节点的数量,可以采用递归实现
int BinaryTree_CountNode(Tnode_t *root)
{
	int n1,n2; //n1用于记录左子树的节点,n2用于记录右子树的节点

	//递归函数先提前写好终止条件
	if (NULL == root)
	{
		return 0;
	}

	//假设采用后序遍历来计算二叉树的节点数量
	n1 = BinaryTree_CountNode(root->lchild);
	n2 = BinaryTree_CountNode(root->rchild);

	return n1+n2+1;
	
}

posted @ 2025-05-14 20:41  Arroyol  阅读(44)  评论(0)    收藏  举报