实验3 - 二叉树的建立及基本操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三二叉树的建立及基本操作

实验目的:

本次实验的主要目的是熟练掌握二叉树的定义、三序(先序、中序、后序)遍历方法,并用遍历思想求解具体二叉树应用问题。通过程序实现,体会递归算法的优缺点。

实验要求:

用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 );

}

//注意函数调用时,只传递参数名称,不需要传递参数类型和&符号。

[实现提示]

采用特殊符号,如*号表示空树的情况。

通过输入扩展的先序序列建立一棵二叉树,即,二叉树中结点为空时应输入*符号表示。

[测试数据]

由学生自己确定,注意边界数据。

程序检查时,由老师提供用于建树的初始输入序列。

程序源码:(后付纸)

程序运行结果:

实验心得体会:

有一些概念不明白,看书之后弄懂了,仔细看了二叉树遍历的知识点,问了同学有了思路。熟悉了二叉树的基本操作,掌握了二叉树实现。

相关文档
最新文档