浙江大学城市学院实验报告
课程名称
数据结构基础
实验项目名称
实验十一
二叉树的进一步操ä½?/p>
学生姓名
专业班级
学号
实验成绩
指导老师(签å�?/p>
ï¼?/p>
日期
2014-12-25
一
.
实验目的和要æ±?/p>
1
、熟练掌握二叉树二叉链表的存储结构ã€?/p>
2
、进一步掌握在二叉链表上的二叉树操作的实现原理与方法ã€?/p>
3
、掌握中序遍历的非递归算法ã€?/p>
�/p>
.
实验内容
1
、实现以下说明的操作函数,添加到实验十所写的头文ä»?/p>
binary_tree.h
中,
并建立主函数文件
test4_2.cpp
ï¼?/p>
编写测试语句加以验证ã€?/p>
操作函数如下ï¼?/p>
â‘?/p>
void InOrder2( BTreeNode *BT );
//
非递归中序遍历二叉æ ?/p>
BT
â‘?/p>
void ChangeBTree(BTreeNode
*&BT);
//
将二叉树中的所有结点的左右子树进行交换ï¼?/p>
â‘?/p>
Int CountBTree(BTreeNode *BT);
//
统计二叉树中的所有结点数并返å›?/p>
â‘?/p>
BTreeNode * CopyBTree(BTreeNode *BT);
//
复制一棵二叉树,并返回复制得到的二叉树根结点指é’?/p>
2
�/p>
选做:实现以下说明的操作函数,添加到头文ä»?/p>
binary_tree.h
中,并在ä¸?/p>
函数文件
test4_2.cpp
中添加相应语句进行测试ã€?/p>
â‘?/p>
int SimilarTrees
ï¼?/p>
BTreeNode *BT1
ï¼?/p>
BTreeNode *BT2
ï¼?/p>
//
判断两棵二叉树是否相似。所谓相似是指如果两棵二叉树具有相同的树型,åˆ?/p>
称它们是相似的,否则不是ã€?/p>
â‘?/p>
BTreeNode * RemoveLeaves
ï¼?/p>
BTreeNode *BT1
ï¼?/p>
//
摘树叶:摘除一棵二叉树上的所有叶子结点后返回一棵新的二叉树ã€?/p>
3
�/p>
填写实验报告,实验报告文件取名为
report11.doc
�/p>
4
�/p>
上传实验报告文件
report11.doc
�/p>
源程序文ä»?/p>
test4_2.cpp
�/p>
binary_tree.h
�/p>
Ftp
服务器上自己的文件夹下ã€?/p>
�/p>
.
函数的功能说明及算法思路