二叉树的操作及应用(新20151126).doc

实验四 二叉树的操作及应用 实验学时:4 实验类型:(设计型) 一、实验目的 1.理解并掌握二叉树的逻辑结构和物理结构——二叉链表; 2.掌握二叉树的遍历方法; 3.掌握二叉树的构造方法; 4. 掌握计算二叉树结点个数、高度、叶子结点个数算法实现; 5. 掌握交换二叉树左右子树以及复制一棵二叉树算法的实现。 二、实验条件 Visual C++ 6.0 三、实验原理及相关知识 1.二叉树的存储结构描述; 2.二叉树中序、前序、后序、层次遍历的基本思想; 3.构造二叉树的基本思想; 4.求二叉树结点个数、高度、叶子结点个数算法的基本思想; 5.交换二叉树左右子树以及复制一棵二叉树算法的基本思想。 四、实验步骤 1.确定存储结构,写出二叉链表结构类型的具体定义。 2.基本操作的算法实现 (1)中序、前序、后序、层次遍历的递归算法的基本思想及算法实现; (2)利用先序序列构造二叉树方法的基本思想及算法实现; (3)求结点个数、高度、叶子结点个数、交换二叉树左右子树以及复制一棵二叉树的递归算法的基本思想及算法实现。 五、思考题及其它 1.线索二叉树的构造及线索化方法的算法实现。 【参考程序1】 #includestdio.h #includemalloc.h #include math.h #define MaxSize 20 typedef int ElemType; #de

文档评论(0)

1亿VIP精品文档

相关文档