- 4
- 0
- 约3.49万字
- 约 48页
- 2022-09-03 发布于辽宁
- 举报
实 验 报 告 书
课 程 名 : 数据结构
题 目: 树形数据结构实验(1)
班 级:
学 号:
姓 名:
评语:
成绩: 指导教师:
一、目的与要求
1)熟练掌握二叉树的二叉链表表示创建算法与实现;
2)熟练掌握栈的前序、中序与后序递归遍历算法与实现;
3)熟练掌握前序、中序与后序遍历线索二叉树的基本算法与实现;
4)按照实验题目要求独立正确地完成实验内容 (提交程序清单及相关实验
数据与运行结果);
5)认真书写实验报告,并按时提交。
二、实验内容或题目
1) 创建二叉树:广义表式创建与先序创建;
2) 遍历二叉树:先,中,后,层序遍历,广义表式遍历,凹凸式遍历;
3) 二叉树属性:深度,宽度,结点数,叶子结点数
4) 二叉树路径:叶子结点到根结点的路径;
5)二叉树线索:中序线索二叉树;
6)二叉树置空:清空二叉树。
三、实验步骤与源程序
1)头文件 Btree.h
#include iostream.h
#include iomanip.h
#include stdio.h
#include stdlib.h
#include time.h
/********************************** 对 象 -- 二 叉 数 ****************
****************/
第 0 页
typedef char ElemType; // 定义元素类型
#define MAXSIZE 100 // 确定二叉树的最大结点数
/****************************** 二 叉 数 的 结 点 类 定 义
******************************/
class BTreeNode
private:
int ltag,rtag; // 线索标记
BTreeNode *left; // 左子树指针
BTreeNode *right; // 右子树指针
public:
ElemType data; // 数据域
// 构造函数
BTreeNode()
ltag=0;
rtag=0;
left=NULL;
right=NULL;
// 带参数初始化的构造函数
BTreeNode(ElemType item,int ltag1,int rtag1,BTreeNode
*left1,BTreeNode *right1)
data=item;
ltag=ltag1;
rtag=rtag1;
第 1 页
left=left1;
right=right1;
BTreeNode *Left() // 返回结点的左孩子
return left;
// 返回结点的右孩子
BTreeNode *Right()
return right;
friend class BinaryTree; // 二叉树类为二叉树结点类的友元类
/********************************** 二 叉 数 的 类 定 义
*******************************/
class BinaryTree
private:
BTreeNode *root;
public:
//构造函数.初始化二叉树为空
BinaryTree() { root=NULL; }
// 判断二叉树是否为空
bool BTreeEmpty() { return root==NULL; }
/*******************
您可能关注的文档
最近下载
- 2026年深圳市高三第一次调研考试(一模)数学试卷(含答案解析).pdf
- BS EN ISO-IEC 27006-1-2024 信息安全、⽹络安全和隐私保护 对提供信息安全管理体系审核和认证的机构的要求 中文版.pdf
- 2026年陕西省高考适应性检测(一)语文试卷(含答案)原卷.pdf
- 单位公章-模板.doc VIP
- JT∕T 200-2020 汽车客运站级别划分和建设要求(高清版).docx VIP
- 中西文化比较:中西文化的交流和融合PPT教学课件.pptx VIP
- 2025年AWS认证SpotInstances在可持续发展中的应用专题试卷及解析.pdf VIP
- 2025年演出经纪人社交媒体活动应急预案制定与演练专题试卷及解析.pdf VIP
- 2025年房地产经纪人住宅类房产房产税计算与申报专题试卷及解析.pdf VIP
- 《守望成长,法治护航》法制教育主题班会.pptx VIP
原创力文档

文档评论(0)