- 3
- 0
- 约2.92千字
- 约 6页
- 2018-04-15 发布于浙江
- 举报
[2018年最新整理]实验一:二叉树的建立及其遍历
实 验 报 告
课程名称: 数据结构实验 实验项目: 二叉树的建立及遍历 姓 名: 李翠超 专 业: 计算机科学与技术 班 级: 计算机16-6 学 号: 1609040307
计算机科学与技术学院
实验教学中心
2017 年11月 24日
实验项目名称: 二叉树的建立及遍历
一、实验目的
1.熟悉掌握课本二叉树相关理论知识
2.实践与理论相结合,以实践加深对理论理解并掌握二叉树的应用程序
3.学会二叉树的创建,遍历等其他基本操作的代码实现
二、实验内容
1.二叉树的创建代码实现
2.二叉树先序、中序、后序遍历代码实现
3.时间有余的同学尝试二叉树的其他各项功能的代码实现,如:测量二叉树的深度,宽度,结点数,叶子结点数及某个结点左右孩子
三、实验操作步骤
1.阅读实验内容和要求??????
编写程序实现以下功能
(1)建立一棵二叉树
(2)先序、中序、后序遍历此二叉树
3.根据编译的结果,如果错误的及时找出并改正
四、实验结果分析
1.在键盘上输入一段字符串,建立一棵二叉树
例如输入:ABDG##H##E#I##C#FJ###
此二叉树的结构如下图:
2.输出先序、中序、后序遍历序列(采用递归遍历)
五、源代码
#include string.h
#include stdio.h
#include stdlib.h
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
#define MAXSIZE 100 //存储空间初始分配量
typedef int Status; // Status是函数的类型,其值是函数结果状态代码,如OK等
typedef char TElemType;
TElemType Nil= ; // 字符型以空格符为空
Status visit(TElemType e)
{
printf(%c ,e);
return OK;
}
typedef struct BiTNode // 结点结构
{
TElemType data; // 结点数据
struct BiTNode *lchild,*rchild; // 左右孩子指针
}BiTNode,*BiTree;
// 构造空二叉树T
Status InitBiTree(BiTree *T)
{
*T=NULL;
return OK;
}
// 初始条件: 二叉树T存在。操作结果: 销毁二叉树T
Status DestroyBiTree(BiTree *T)
{
if(*T)
{
if((*T)-lchild) // 有左孩子
DestroyBiTree((*T)-lchild); // 销毁左孩子子树
if((*T)-rchild) // 有右孩子
DestroyBiTree((*T)-rchild); // 销毁右孩子子树
free(*T); // 释放根结点
*T=NULL; // 空指针赋0
}
}
// 按前序输入二叉树中结点的值(一个字符)
// #表示空树,构造二叉链表表示二叉树T。
Status CreateBiTree(BiTree *T)
{
TElemType ch;
scanf(%c,ch);
ch=str[index++];
if(ch==#)
*T=NULL;
else
{
*T=(BiTree)malloc(sizeof(BiTNode));
if(!*T)
return ERROR;
(*T)-data=ch; // 生成根结点
CreateBiTree((*T)-lchild); // 构造左子树
CreateBiTree((*T)-rchild); // 构造右子树
}
}
// 初始条件: 二叉树T存在
// 操作结果: 前序递归遍历T
Status PreOrderTraverse(BiTree T)
{
if(T==NULL)
return;
printf(%c,T-data);// 显示结点数据,可以更改为其它对结点操作
PreOrderTraverse(T-lchild); // 再先序遍历左子树
PreOrderTraverse(T-rchild); // 最后先序遍历
您可能关注的文档
- [2018年最新整理]安全生产管理知识(苏宏杰)课件.ppt
- [2018年最新整理]安全生产管理知识(ppt_2345).ppt
- [2018年最新整理]安全生产管理知识--练习题.ppt
- [2018年最新整理]安全生产管理知识6.ppt
- [2018年最新整理]安全生产管理知识每周一题.doc
- [2018年最新整理]安全生产经营统计报表管理制度.doc
- [2018年最新整理]安全生产管理知识_2012年真题_2013年版.doc
- [2018年最新整理]安全生产责任书及安全技术交底.doc
- [2018年最新整理]安全生产许可证条例.ppt
- [2018年最新整理]安全生产责任目标分级管理.doc
- 广东省广州省实验中学教育集团2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州大学附属中学2025-2026学年八年级上学期奥班期中物理试题(解析版).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(含答案).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第八十六中学2025-2026学年八年级上学期期中物理试题(解析版).docx
- 广东省广州市第八十九中学2025-2026学年八年级上学期期中考试物理试题(含答案).docx
- 广东省广州市第二中学2025-2026学年八年级上学期期中考试物理试题(解析版).docx
- 2026《中国人寿上海分公司营销员培训体系优化研究》18000字.docx
- 《生物探究性实验教学》中小学教师资格模拟试题.docx
最近下载
- 2025年德州市中考数学试题卷(含答案及解析).docx
- ISO 15614-1-2012 金属材料焊接工艺规范和评定.pdf VIP
- 发那科fanuc维修手册 内部资料教材.pdf VIP
- 2026年节后复工开工第一课课件.ppt
- 蔬菜水果的收货验货标准.doc VIP
- 新部编人教版语文五年级上册生字字帖直接打印资料文档.pdf VIP
- 东北大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- T_DZJN 455-2025 冶金工业变频节能选型设计规范.docx VIP
- 北京邮电大学《机器学习》2024 - 2025 学年第一学期期末试卷.pdf VIP
- 新版2026春重庆大学版英语四年级下册单词表国标手写斜体描红字帖.pdf
原创力文档

文档评论(0)