数据结构|二叉树的链式存储(实验6.2)

本文旨在熟练理解和掌握二叉树的概念及链式存储结构,通过实验构建自定义二叉树,实现前序、中序、后序遍历,并输出结点信息。此外,还涉及构造、析构函数以及算法效率分析。
摘要由CSDN通过智能技术生成

一、实验目的

1、   熟练理解树和二叉树的相关概念,掌握的存储结构和相关操作实现;

2、   掌握树的顺序结构的实现;

3、   学会运用树的知识解决实际问题

二、 实验内容

1、自己确定一个二叉树(树结点类型、数目和结构自定)利用链式存储结构方法存储。实现树的构造,并完成:

1)用前序遍历、中序遍历、后序遍历输出结点数据;

2)以合理的格式,输出各个结点和双亲、孩子结点信息;

3)输出所有的叶子结点信息;

 

三、实验步骤

1、依据实验内容,先确定具体的二叉树,并说明结点的数据类型;

 

template <typename T>
class Bitree
{
	public:
		Bitree() { root=Creat(root); }  //构造函数
		~Bitree() { Release(root); }  //析构函数
		void Preorder() { Preorder(root); }  //前序遍历
		void Inorder() { Inorder(root); }   //中序遍历
		void Postorder() { Postorder(root); }   //后序遍历
		void Leverorder();    //层序遍历
		void findmessage(T x){ findmessage(root,x); }  //查找各结点的信息
	private:
		BiNode<T> *root;  //指向根结点的头指针
		BiNode<T> *Creat(BiNode<T> *bt);   //构造函数调用
		void Release (BiNode<T> *bt);
		void Preorder (BiNode<T> *bt);
		void Inorder (BiNode<T> *bt);
		void Postorder (BiNode<T> *bt);
		void findmessage(BiNode<T> *bt,T x);
		void Parent(BiNode<T> *bt,T x);
};

 

 

 

 

 

2、设计具体的算法;

  2.1构造函数:建立一个二叉树;

  2.2建立二叉链表算法:<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值