一、实验目的
1、 熟练理解树和二叉树的相关概念,掌握的存储结构和相关操作实现;
2、 掌握树的顺序结构的实现;
3、 学会运用树的知识解决实际问题
二、 实验内容
1、自己确定一个二叉树(树结点类型、数目和结构自定)利用链式存储结构方法存储。实 现树的构造,并完成: 1) 用前序遍历、中序遍历、后序遍历输出结点数据;
2) 以合理的格式,输出各个结点和双亲、孩子结点信息;
3) 输出所有的叶子结点信息; 2、试设计一个程序,将输入的字符串转化为对应的哈夫曼编码,然后再将这个哈夫曼编码 序列进行解码,也就是恢复原来的字符串序列。
(*) 三、实验步骤 1、依据实验内容,先确定具体的二叉树,并说明结点的数据类型; 2、设计具体的算法; 3、写出完整程序; 4、总结、运行结果和分析算法效率。
#include<iostream.h>
struct BiNode
{
char data;
BiNode *lchild,*rchild;
};
class BiTree
{
private:
BiNode *root; //指向根节点的头指针
BiNode *Creat(BiNode *bt);//构造函数调用
void Release(BiNode *bt);//析构函数
void PreOrder(BiNode *bt);//前序遍历
void InOrder(BiNode *bt);//中序遍历
void PostOrder(BiNode *bt);//后序遍历
void PrintPC(BiNode *bt,BiNode *pr);