数据结构实验四 :树和二叉树的实验 1

一、实验目的
1、 熟练理解树和二叉树的相关概念,掌握的存储结构和相关操作实现;
2、 掌握树的顺序结构的实现;
3、 学会运用树的知识解决实际问题
二、实验内容 
自己确定一个二叉树(树结点类型、数目和结构自定)利用顺序结构方法存储。实
现树的构造,并完成:
1) 层序输出结点数据;
2) 以合理的格式,输出各个结点和双亲、孩子结点信息;
3) 输出所有的叶子结点信息;
4)分析你的算法对于给定的二叉树的存储效率。
三、实验步骤
1、依据实验内容,先确定具体的二叉树,并说明结点的数据据类型;
2、设计具体的算法;
3、写出完整程序;
4、总结、运行结果和分析算法效率。

5、总体收获和不足,疑问等。

确定的二叉树为:

数据结构实验四 :树和二叉树的实验 1_第1张图片

数据类型为Char型;

代码如下:

#include 
#include 
using namespace std;
class BiTree{
private:
	char *bitree;
	int treelen;
public:
	BiTree(char *a);
	~BiTree(){}
	void LeverOrder();
	void GetPC();
	void Getleaf();
};
BiTree::BiTree(char *a){
	treelen=strlen(a);
	bitree=a;
}
void BiTree::LeverOrder(){
	for (int i=0;i0&&bitree[j/2-1]!='^')
			cout<treelen&&bitree[i]!='^')
			cout<

输出结果为:

数据结构实验四 :树和二叉树的实验 1_第2张图片

总结:二叉树的顺序存储的方法会造成存储空间的浪费,尤其是右斜树,一棵深度为k的右斜树,只有k个结点,却要分配2^k-1个存储单元。

你可能感兴趣的:(作业)