数据结构实验报告(五)
一、实验名称
实验五 树和二叉树的实验2
二、 实验目的
1、 熟练理解树和二叉树的相关概念,掌握的存储结构和相关操作实现;
2、 掌握树的顺序结构的实现;
3、 学会运用树的知识解决实际问题
三、 实验内容
自己确定一个二叉树(树结点类型、数目和结构自定)利用链式存储结构方法存储。实现树的构造,并完成:
1) 用前序遍历、中序遍历、后序遍历输出结点数据;
2) 以合理的格式,输出各个结点和双亲、孩子结点信息;
3) 输出所有的叶子结点信息;
四、详细设计(C++)
1. 算法设计
1.定义BiTree类,树结点的数据类型为字符型。
2.定义构造函数、析构函数、遍历函数、PLM输出各个结点和双亲、孩子结点信息、LM输出所有的叶子结点信息。
3.为了避免类的调用者访问BiTree类的私有变量root,在构造函数、析构函数以及遍历函数中调用了相应的私有函数。
4.遍历操作采用递归算法
构造函数:
输入根结点,若输入的是“#”字符,则表明该二叉树为空树,即bt=NULL;否则输入的字符应该赋给bt->data,之后依次递归建立它的左子树和右子树。
析构函数:
二叉链表属于动态存储分配,需要在析构函数中释放二叉链表中的所有结点。在释放某结点时&