上 机 作 业 2
1.输入带空二叉树(信息)的先序遍历序列,生成一棵二叉树:
若结点为字符类型,用空格表示空二叉树;若结点为整数类型,用 0(零)表
示空二叉树;
2.作前序遍历,分别用递归算法、非递归算法实现;
3.作中序遍历,分别用递归算法、非递归算法实现;
4.作后序遍历,用递归算法实现;
5.求度分别为 0、1、2 的结点的数目,分别用递归算法、非递归算法实现;
6.交换每个结点的左右子树;
7.对交换左右子树后的二叉树作中序遍历。
*8.按层次遍历二叉树(提示:非递归算法实现,使用一个队列实现);
*9.求二叉树的高度(深度),输出结果;
**10.判断是否为满二叉树,输出"Yes!"/"No!";
***11.判断是否为完全二叉树,输出"Yes!"/"No!";
***12.改用顺序结构作二叉树的存储结构,复制由操作 1 生成的二叉树到
顺
序结构中,再分别作前序遍历和中序遍历。
说明和要求
1.每一操作(小题),用 C 函数实现,用二叉树的根指针作 C 函数的形式参
数;选做带“*”号的小题;
2.第 13 周,交上机作业 3 的第 1,3,5 小题的程序清单(打印或手抄),关键
位置加注释;在首页写上班号、学号、姓名。
3.参考程序结构
评论2