一、实验目的
1.熟练理解树和二叉树的相关概念,掌握存储结构和相关操作的实现
2.掌握树的顺序结构的实现
3.学会运用树的知识解决实际问题
二、实验内容
自己确定一个二叉树(树结点类型、数目和结构自定)利用顺序结构方法存储。实现树的结构,并完成:
(1)层序输出结点数据;
(2)以合理的格式,输出各个结点和双亲、孩子结点信息;
(3)输出所有的叶子结点信息;
(4)分析你的算法对于给定的二叉树的存储效率。
三、实验步骤
1 假定二叉树按层序输出数据为abcdefghijk,结点的数据类型为字符型、
2.当输出结点的孩子信息时,必须保证结点非叶子,所以如m为总的结点数,则非叶子数为m/2;当输出结点的双亲时,根无双亲,所以不应包含在内;当输出所有结点的信息时应按层序输出。
3.完整程序为
#include <iostream>
using namespace std;
const int m=11;
class Tree{
public:
void in(char b[]);
void show();
void showre();
void showye();
private:
char a[m];
};
void Tree::in(char b[]){
for(int i=0;i<m;i++)
a[i]=b[i];
}
void Tree::show(){
for(int i=0;i<m;i++)
cout<<a[i]<<" ";
cout<<endl;
}
v