实验三    二叉树的建立及基本操作
实验目的:
本次实验的主要目的是熟练掌握二叉树的定义、三序(先序、中序、后序)遍历方法,并用遍历思想求解具体二叉树应用问题。通过程序实现,体会递归算法的优缺点。
实验要求:
C语言编程实现二叉树的基本操作,并完成下述函数功能:
(1)CreateBiTree( ):根据先序遍历序列生成一棵二叉树
(2)Depth( ):求此二叉树的深度
(3)CountLeaf( ):统计该二叉树中叶子结点的个数
(4)InOrderTraverse( ):中序遍历二叉树
(5)PostOrderTraverse( ):后序遍历二叉树
在主函数main( )中调用各个子函数完成单链表的基本操作。例:
void main()
{    BiTree  T;
    CreateBiTree (T);
int d= Depth ( T );
printf(“深度为%d”, d);
int num= CountLeaf ( T );
printf(“叶子结点个数为%d”, num);
InOrderTraverse ( T );
PostOrderTraverse ( T );
}
//注意函数调用时,只传递参数名称,不需要传递参数类型和&符号。
[实现提示]
采用特殊符号,如*号表示空树的情况。
通过输入扩展的先序序列建立一棵二叉树,即,二叉树中结点为空时应输入*符号表示。
[测试数据]
由学生自己确定,注意边界数据。
程序检查时,由老师提供用于建树的初始输入序列。
程序源码:(后付纸)
程序运行结果:
实验心得体会:
二叉树的基本性质
有一些概念不明白,看书之后弄懂了,仔细看了二叉树遍历的知识点,问了同学有了思路。熟悉了二叉树的基本操作,掌握了二叉树实现。