补充实验:二叉树中的递归算法
上一节
下一节
补充实践实验:二叉树中的递归算法(2学时)
二叉树是应用极为广泛的数据结构,也是利用递归实现问题求解的典型结构,本次实验侧重利用递归解决各种问题。
(一)问题描述
1.求二叉树的层次(高度)
2.求二叉树的叶子个数
3.求二叉树的总结点个数
4.求二叉树的度为1的结点个数
5.求二叉树的度为2的结点个数
6.复制二叉树
7.交换二叉树的左右子树
8.利用先序和中序序列建立二叉链表存储的二叉树
9.判定二叉树是否为完全二叉树
10.判定两棵二叉树是否相似
(二)基本要求
1.用二叉链表的形式存储二叉树
(三)测试数据
自拟
(四)实现提示
充分理解递归原理及实现方法。
以下是参考代码:
int level(BiTree T) /*计算二叉树的层次*/
{
int l1,l2;
if(T==NULL) return 0;
else{l1=level(T->lchild);
l2=level(T->rchild);
return l1>l2?l1+1:l2+1;
}
}

