例题:设二叉树的存储结构为二叉链表,编写有关二叉树的递归算法
如有谬误或者不足还请批评指正!
(1)统计二叉树中度为0、1、2的结点个数
int num_0 = 0, num_1 = 0, num_2 = 0;
void CountNode(BiTree T)
{
if (T == NULL)
return;
if ((T->lchild && !T->rchild) || (!T->lchild && T->rchild))
num_1++;
else if (!T->lchild && !T->rchild)
num_0++;
else
num_2++;
CountNode(T->lchild);
CountNode(T->rchild);
}
(2)统计二叉树的高度
int CountHeight(BiTree T)
{
if (T == NULL)
return 0;
if (T