2、 通过递归方法来遍历(先序、中序和后序)二叉树;
3、 通过队列应用来实现对二叉树的层次遍历;
4、 借用递归方法对二叉树进行一些基本操作,如:求叶子数、树的深度宽度等;
5、 运用广义表对二叉树进行广义表形式的打印。
算法规定:
输入形式:为了方便操作,规定二叉树的元素类型都为字符型,允许各种字符类型的输入,没有元素的
结点以空格输入表示,并且本实验是以先序顺序输入的。
输出形式:通过先序、中序和后序遍历的方法对树的各字符型元素进行遍历打印,再以广义表形式进行
打印。对二叉树的一些运算结果以整型输出。
程序功能:实现对二叉树的先序、中序和后序遍历,层次遍历。计算叶子结点数、树的深度、树的宽度,
求树的非空子孙结点个数、度为 2 的结点数目、度为 2 的结点数目。对二叉树的某个元素进行查找,对二叉
树的某个结点进行删除。
测试数据:
输 入 一:ABC□□DE□G□□F□□□ (以□表示空格),查找 5,删除 E
预测结果:先序遍历 ABCDEGF
叶子数 3 深度 5 宽度 2 非空子孙数 6 度为 2 的数目 2 度为 1 的数目 2
查找 5,成功,查找的元素为 E
删除 E 后,以广义表形式打印 A(B(C,D(,F)))
输 入 二:ABD□□EH□□□CF□G□□□ (以□表示空格),查找 10,删除 B
预测结果:先序遍历 ABDEHCFG
广义表打印 A(B(D,E(H)),C(F(,G)))
叶子数 3 深度 4 宽度 3 非空子孙数 7 度为 2 的数目 2 度为 1 的数目 3
查找 10,失败。
评论0
最新资源