只使用指向二叉树的根的一个指针T,计算T中节点的个数,T中树叶的片数,T中满节点的个数

数据结构与算法分析——c语言描述 练习4.28  答案


int countNodes(AvlTree t) {
	if (t == NULL)
		return 0;
	return countNodes(t->left) + countNodes(t->right) + 1;
}

int countLeaves(AvlTree t) {
	if (t == NULL)
		return 0;
	else if (t->left == NULL&&t->right == NULL)
		return  1;
	else
		return countLeaves(t->left) + countLeaves(t->right);
}

int countFull(AvlTree t) {
	if (t == NULL)
		return 0;
	else if (t->left &&t->right)
		return   countFull(t->left) + countFull(t->right) + 1;
	else
		return countFull(t->left) + countFull(t->right);
}


你可能感兴趣的:(只使用指向二叉树的根的一个指针T,计算T中节点的个数,T中树叶的片数,T中满节点的个数)