实验四 二叉树的实现(顺序存储结构)

一、实验目的
1、 熟练理解树和二叉树的相关概念,掌握的存储结构和相关操作实现;
2、 掌握树的顺序结构的实现;
3、 学会运用树的知识解决实际问题
二、实验内容 
自己确定一个二叉树(树结点类型、数目和结构自定)利用顺序结构方法存储。实
现树的构造,并完成:
1) 层序输出结点数据;
2) 以合理的格式,输出各个结点和双亲、孩子结点信息;
3) 输出所有的叶子结点信息;

4)分析你的算法对于给定的二叉树的存储效率。

实现如下二叉树:

实验四 二叉树的实现(顺序存储结构)_第1张图片

代码如下:

#include  
#include  
using namespace std;  
const int m=100;
class BiTree    
{    
public:    
    BiTree();    
    ~BiTree(){}  
    int create_BT();     //手动键入二叉树各节点信息  
    void leverOrder();    //层序输出
    void print();      //输出所有结点及其信息
	void printleaf();   //输出叶子结点信息
    int Tree[m];   
	int count;    //记录实际结点个数
	int num;
};    
BiTree::BiTree()       //构造函数建立一个空数
{    
	for(int i=0;i>n&&n!=-1&&i

程序运行结果图为

实验四 二叉树的实现(顺序存储结构)_第2张图片


总结:实验要求用顺序存储结构,我想到的是数组,由于书上没有关于顺序存储结构的代码提示,我在建立树时直接把键入的值赋给数组,不敢确定自己这样算不算是建立了一颗二叉树。惭愧。我会继续努力学习。加油!

你可能感兴趣的:(数据结构)