**一、实验目的
1、掌握二叉树的特点及其存储方式;
2、掌握二叉树的创建;
3、掌握二叉树前序、中序、后序遍历的基本方法及应用;
4、掌握二叉查找树的特点;
5、掌握二叉查找树查找(包含contain)、插入和删除操作的实现。
二、实验内容
1、用前序方法建立一棵二叉树;
2、实现前序、中序和后序遍历二叉树的操作;
3、实现统计二叉树叶子结点个数或计算二叉树深度的操作;
4、将输入的一组数据逐个插入实现创建二叉查找树;
5、用非递归实现二叉查找树的查找和删除操作。
三、实验环境
eclipse环境
四、实验步骤
1、二叉链表节点类的定义;
2、二叉树类的定义;
3、建立下图所示的二叉树
以字符串的形式“根左右”定义一棵二叉树时,写出创建二叉树的操作:
4、编程实现以上二叉树的前序、中序和后序遍历操作,输出遍历序列;
5、完成统计以上二叉树中叶子结点的个数或计算以上二叉树的深度;
6、定义二叉查找树类;实现二叉查找树的查找、插入和删除操作;
7、从键盘上输入六个整数45、24、53、12、37、9构造二叉查找树,输出二叉查找树的中序遍历结果;
8、在二叉查找树上查找37和50,并输出能否查找成功;
9、删除数据元素24和53,输出其中序遍历结果。
五、问题讨论
1、先序、中序、后序遍历二叉树的区别?
2、在先序、中序非递归算法中为什么使用