| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

实验六二叉树实验报告

文***品

贡献于2023-03-13

字数:3733

实验四 二叉树操作
班级:计算机班 姓名: 学号: 完成日期:2010
题目:定二叉树实现种约定遍历
实验目:
(1)掌握二叉树定义存储表示学会建立棵特定二叉树方法
(2)掌握二叉树遍历算法(先序中序序遍历算法)思想学会遍历算法递实现非递实现
二实验容:构造二叉树实现二叉树先序中序序遍历统计二叉树深度
三实验步骤:
() 需求分析
1 二叉树建立首先建立二叉链表结构体包含根节点左右子树树左右子树颗二叉树递方法建立左右子树二叉树遍历种二叉树节点访问输出程遍历时根结点左右孩子输出序构成遍历方法程需遍历方法先输出根结点先输出左右孩子选择语句实现
2.程序执行命令:
1)构造结点类型然创建二叉树
2)根提示键盘输入结点
3)通选择种方式(先序中序者序)遍历
4)输出结果结束
(二)概设计
1二叉树二叉链表结点存储类型定义
typedef struct Node
{
DataType data
struct Node *LChild
struct Node *RChild
}BitNode*BitTree
2建立图示二叉树:void CreatBiTree(BitTree *bt)扩展先序遍历序列创建二叉树果前树根置空否申请新节点
3程序包含四模块
1) 程序模块:
2)先序遍历模块
3)中序遍历模块
4)序遍历模块
4模块调关系:
程序模块
先序遍历模块
中序遍历模块
序遍历模块
(三)详细设计
1建立二叉树存储类型
构造二叉树
void CreatBiTree(BitTree *bt)扩展先序遍历序列创建二叉树果前树根置空否申请新节点
{
char ch
chgetchar()
if(ch'')*btNULL
else
{
*bt(BitTree)malloc(sizeof(BitNode))申请段关该节点类型存储空间
(*bt)>datach 生成根结点
CreatBiTree(&((*bt)>LChild)) 构造左子树
CreatBiTree(&((*bt)>RChild)) 构造右子树
}
}
2 编程实现二叉树前序中序序遍历操作输出遍历序列
1)先序遍历二叉树递算法:
void PreOrder(BitTree root)
{
if (rootNULL)
{
Visit(root >data)
PreOrder(root >LChild) 递调核心
PreOrder(root >RChild)
}
}
2)中序遍历二叉树递算法:
void InOrder(BitTree root)
{
if (rootNULL)
{
InOrder(root >LChild)
Visit(root >data)
InOrder(root >RChild)
}
}
3)序遍历二叉树递算法:
void PostOrder(BitTree root)
{
if(rootNULL)
{
PostOrder(root >LChild)
PostOrder(root >RChild)
Visit(root >data)
}
}
4)计算二叉树深度算法:
int PostTreeDepth(BitTree bt) 求二叉树深度
{
int hlhrmax
if(btNULL)
{
hlPostTreeDepth(bt>LChild) 求左子树深度
hrPostTreeDepth(bt>RChild) 求右子树深度
maxhl>hrhlhr 左右子树深度较者
return(max+1) 返回树深度
}
else return(0) 果空树返回0
}
四调试分析测试结果
1 进入演示程序显示界面:
请输入二叉树中元素
先序中序序遍历分输出结果
2测试结果
扩展先序遍历序列输入中代表空子树:ABCDEGF…
先序遍历序列:ABCDEGF
中序遍历序列:CBEGDFA
序遍历序列:CGEFDBA
二叉树深度:5
3程序运行结果
1)输入二叉树中元素(扩展先序遍历序列输入中代表空子树)显示截图:


2)输出结果显示界面:

图二
4调试分析:
程序通分调先序遍历中序遍历序遍历函数二叉树中元素进行遍历整程序基满足实验求细节问题面存缺陷写字母会导致程序法运行需处理问题认真细致程序完善总会更加努力程序更完美

六实验总结
1 二叉树进行表达式前缀中缀缀表示明显优势方便容易理解先序中序序分应表达式前缀中缀缀
2 建树进行树遍历时候定理解建树遍历整程然会连什样做知道遍历树时候常栈结构(非递)
3次实验更加解哈夫曼树构造生成方法序结构存储哈夫曼树构树程信息进行编码译码感知模块程序设计程序设计中普遍性该实验证明通模块程序设计程序读写性明显加强
通次实验初步掌握二叉树结构特性种存储结构特点适范围掌握哈夫曼树定义思想初步掌握凹入法显示树程序树显示够完善缺点学中会断学学中注意改变






























附录
源程序清单
#include
#include
#include
#include
typedef int DataType
typedef struct Node 创建结点类型结构体
{
DataType data
struct Node *LChild
struct Node *RChild
}BitNode*BitTree
void CreatBiTree(BitTree *bt) 扩展先序遍历序列创建二叉树果前树根置空否申请新节点
{
char ch
chgetchar()
if(ch'')*btNULL
else
{
*bt(BitTree)malloc(sizeof(BitNode))
(*bt)>datach
CreatBiTree(&((*bt)>LChild))
CreatBiTree(&((*bt)>RChild))
}
}
void visit(char ch)访问根节点
{
printf(cch)
}
void PreOrder(BitTree root) 先序遍历二叉树递算法
{
if (rootNULL)
{
Visit(root >data)
PreOrder(root >LChild)
PreOrder(root >RChild)
}
}
void InOrder(BitTree root) 中序遍历二叉树递算法

{
if (rootNULL)
{
InOrder(root >LChild)
Visit(root >data)
InOrder(root >RChild)
}
}
void PostOrder(BitTree root) 序遍历求二叉树递算法
{
if(rootNULL)
{
PostOrder(root >LChild)
PostOrder(root >RChild)
Visit(root >data)
}
}
int PostTreeDepth(BitTree bt) 求二叉树深度
{
int hlhrmax
if(btNULL)
{
hlPostTreeDepth(bt>LChild) 求左子树深度
hrPostTreeDepth(bt>RChild) 求右子树深度
maxhl>hrhlhr 左右子树深度较者
return(max+1) 返回树深度
}
else return(0) 果空树返回0
}
void main()
{ BitTree T
int h
int layer
int treeleaf
layer0
printf(请输入二叉树中元素(扩展先序遍历序列输入中代表空子树)\n) CreatBiTree(&T)
printf(先序遍历序列)
PreOrder(T)
printf(\n中序遍历序列)
InOrder(T)
printf(\n序遍历序列)
PostOrder(T)
hPostTreeDepth(T)
printf(\n)
printf(二叉树深度d\nh)}
文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 2 香币 [ 分享文档获得香币 ]

该文档为用户出售和定价!

购买文档

相关文档

树木学实验报告

**大学学生实验报告 课程名称:树木学实验 班级:11级风景园林1班   姓名:董伟英(20112830320006) 2012年12月9日  1、      实验目的:辨认植物,并了解其特征、开花习性、生长发育规律等,了解植物的园林用途。 2、      实验地点:那大市委 3、      实验内容:巴西野牡丹、**枣、琴叶珊瑚、黄棕榈、墨西哥丁香、黄葛榕、**刺桐、洋**、霸王

董***英 11年前 上传11548   0

化学实验报告

化学实验报告  化学是一门以实验为基础的学科。化学上的许多理论和定律都是从实验中发现归纳出来的。同时,化学理论的应用、评价也有赖于实验的探索和检验。虽然到了近代乃至现代,化学的飞速进步已经产生了各种新的研究方法,但是,实验方法仍然是化学不可缺少的研究手段。新课程改革将科学探究作为突破口,科学探究不但是一种重要的学习方式,同时也是中学化学课程的重要内容,它对发展学生的科学素养具有不可替代的作用

静***开 11年前 上传1044   0

**学院实验报告

实验内容:使用金融数据库查找宏观经济及行业相关数据,使用Excel进行作图分析。根据所得数据以及图形分析相关问题。实验目的:掌握金融数据库软件的相关使用,操作,快捷查找数据,能够制作美观图形,对于数据有效分析。

e***3 3年前 上传679   0

教育实验报告

教育实验报告  教育实验报告  对某种教育现象实验后,要对整个实验过程进行全面总结,提出一个客观的、概括的、能反映全过程及其结果的书面材料,即谓教育实验报告。教育实验报告可分为三部分:①前言。②实验过程和结果。③讨论及结论。实验报告的基本结构:  (1)题目。应以简练、概括、明确的语句反映出教育的对象、领域、方法和问题,使读者一目了然,判断出有无阅读价值。  (2)单位、作者。应

松***布 12年前 上传747   0

上机实验报告

上机实验报告  一.     题目1.  建立一个学生档案,内容包括学号,姓名,年龄,性别,数学,物理和英语3门功课成绩。要求实现以下功能:1)        数据输入;2)        查询某个学生的成绩;3)        按平均排列输出;4)        统计某门课各分数段人数;5)        删除某个学生记录;2.  编程实现对二位数进行加,减,乘运算,每运行一次程序做10道

l***2 8年前 上传865   0

电路实验报告

实验一 元件特性的示波测量法一、实验目的1、学习用示波器测量正弦信号的相位差。2、学习用示波器测量电压、电流、磁链、电荷等电路的基本变量3、掌握元件特性的示波测量法,加深对元件特性的理解。二、实验任务1、 用直接测量法和李萨如图形法测量移相器的相移即实验原理图如图 5-6示。

小***库 3年前 上传3073   0

爱情实验报告

爱情实验报告  爱情实验报告   这学期要做一周的模块实验,我和欣儿分在一组,欣儿是班里的学习委员,负责收缴每天实验后大家必写的实验报告。    欣儿长的很美,碰到人总是浅浅地笑,不象有些女生长得不怎么样却整天想着让人恭维,欣儿每天早早地来,发放实验用品最后一个走。清扫实验垃圾,我当然不遗余力地帮忙欣儿总是冲我一笑道声:“谢谢”,有几次我说道:“欣儿我……”我始终没有勇气把心思表达出

s***e 12年前 上传751   0

oracle实验报告

《Oracle数据库设计与 实现》 总结报告 成绩:-------------- 学号:-------------- 姓名:---------------- 班级:----

文***品 2年前 上传504   0

CADCAM实验报告

 二叉树的遍历实验一、实验名称:二叉树的遍历实验。二、实验目的:1、掌握CAD/CAM系统中常用的数据结构二叉树的概念、存储结构以及二叉树遍历技术。2、熟练应用C语言编写二叉树的建立,以及用先序、中序、后序遍历方法遍历二叉树的程序。三、实验内容用TC或VC编程,将图2-14所示的二叉树建立链表存储结构,并分别用先序、中序、后序遍历方法遍历该二叉树α1、程序流程图2

知***享 4年前 上传949   0

生物实验报告

生物实验报告  实验   生物组织中还原糖、脂肪、蛋白质的鉴定  一、实验目的  初步掌握鉴定生物组织中还原糖、脂肪、蛋白质的基本方法。  二、实验原理  1.还原糖的鉴定原理  生物组织中普遍存在的还原糖种类较多,常见的有葡萄糖、果糖、麦芽糖。它们的分子内都含有还原性基团(游离醛基或游离酮基),因此叫做还原糖。蔗糖的分子内没有游离的半缩醛羟基,因此叫做非还原性糖,不具有还原

t***0 9年前 上传828   0

科技实验报告

科技实验报告  科技实验报告   一、定义与作用  实验报告,就是在某项科研活动或专业学习中,实验者把实验的目的、方法。步骤、结果等,用简洁的语言写成书面报告。  实验报告必须在科学实验的基础上进行。成功的或失败的实验结果的记载,有利于不断积累研究资料,总结研究成果,提高实验者的观察能力。分析问题和解决问题的能力,培养理论联系实际的学风和实事求是的科学态度。  二、写作要求

j***n 9年前 上传744   0

GPIO实验报告

通过实验掌握 ARM 芯片使用 GPIO 端口。掌握 GPIO 端口控制 LED 显示。掌握系统时钟的配置。掌握库开发原理及方法。

x***8 3年前 上传1434   0

汇编实验报告

XX大 学 计 算 机 学 院、软 件 学 院实 验 报 告 学号: 姓名:专业:计算机科学与技术 班级: 第X周 课程名称   汇编语言程序设计课程设计(第四次)实验课时30课时实验项目分支与循环结构程序设计实验时间6课时实验目的 1. 掌握分支、循环结构程序设计方法,重点掌握结合程序流程图设计分支、循环结构入、出口的方法;2. 掌握使用DEBUG调试分支

文***品 1年前 上传457   0

物理实验报告

物理实验报告  物理 实验报告              指导教师    同组者                     实验日期  2003 年9月21日   实验名称 实验一 测量物质的密度    一、实验目的:  掌握用流体静力称衡法测密度的原理。   了解比重瓶法测密度的特点。   掌握比重瓶的用法。   掌握物理天平的使用方法。   二、实验原理:

相***米 10年前 上传843   0

实验报告格式

实验报告格式实验序号:          实验项目名称:学 号 姓 名 专业、班 实验地点 指导教师 时间 一、实验目的及要求 二、实验设备(环境)及要求 三、实验内容与步骤 四、实验结果与数据处理 五、分析与讨论六、教师评语 签名:日期:成绩本文档由香当网(https://www.x

y***5 11年前 上传781   0

土力学实验报告

 园林学院土力学实验报告学生姓名 学 号 专业班级 土木工程 指导教师 组 别 成 绩

文***享 1年前 上传364   0

击实实验报告

贵XX 大 学 学 生 实 验 报 告二○一五 ——二○一六 学年度 第一学期 材料与建筑工程 学院  三 年级                                                     专 业 土木工程 班 级 课程

文***品 4年前 上传2675   0

电路实验报告要求

电路实验报告要求  电路实验报告要求  同学您好:  电路实验课已经结束,请按题目要求认真完成实验报告,并要仔细检查一遍,以免退回,具体要求如下:  一、 绘制电路图要工整、选取合适比例,元件参数标注要准确、完整。  二、 计算题要有计算步骤、解题过程,要代具体数据进行计算,不能只写得数。  三、 实验中测试得到的数据要用黑笔誊写在实验报告表格上,铅笔字迹清楚也可以,如纸

h***8 9年前 上传880   0

声速的测量实验报告

声速的测量实验报告一、实验名称:声速的测量二、实验目的1.了解声速的测量原理;2.掌握示波器和信号发生器的使用方法。3.掌握逐差法处理数据三、实验仪器示波器,信号发生器、声速测量仪四、实验原理在弹性介质中,频率从20Hz到20kHz的振动所激起的机械波称为声波,高于20kHz,称为超声波,超声波的频率范围在之间。超声波的传播速度,就是声波的传播速度。超声波具有波长短,易于定向发

俊***1 4年前 上传2626   0

化学实验报告的格式

化学实验报告的格式  1.实验题目 编组 同组者 日期 室温 湿度 气压 天气   2.实验原理   3.实验用品 试剂 仪器   4.实验装置图   5.操作步骤   6. 注意事项   7.数据记录与处理   8.结果讨论   /  9.实验感受(利弊分析)本文档由香当网(https://www.xiangdang.net)用户上传

f***1 11年前 上传710   0

实验报告格式示例

实验报告格式示例  实验报告格式示例  例一  定量分析实验报告格式  (以草酸中H2C2O4含量的测定为例)  实验题目:草酸中H2C2O4含量的测定  实验目的:  学习NaOH标准溶液的配制、标定及有关仪器的使用;  学习碱式滴定管的使用,练习滴定操作。  实验原理:  H2C2O4为有机弱酸,其Ka1=5.9×10-2,Ka2=6.4×10-5。常量组

v***1 10年前 上传711   0

实验报告陈康乐

课程序号: 10693 《数字电子技术课程设计》学 院: 工学院 专 业: 电子信息工程(三校生)181班 姓 名: 陈康乐 学 号: 201836170108 授课教师 : 何秀慧 提交时间 : 2019年 9月 10 日得 分:

c***n 4年前 上传1020   0

化学实验报告格式

化学实验报告格式  例一  定量分析实验报告格式   (以草酸中h2c2o4含量的测定为例)   实验题目:草酸中h2c2o4含量的测定   实验目的:   学习naoh标准溶液的配制、标定及有关仪器的使用;   学习碱式滴定管的使用,练习滴定操作。   实验原理:   h2c2o4为有机弱酸,其ka1=5.9×10-2,ka2=6.4×10-5。常量组分分析时c

q***v 8年前 上传655   0

相机标定实验报告

相机标定一、 实验原理相机标定就是求解相机的内参数以及畸变参数的过程。相机的标定主要有两种:传统的摄像头标定方法和摄像头自标定方法,典型的有:(1)Tsai(传统的标定方法);(2)张正友(介于传统和自标定之间)。1999年,微软研究院的张正友提出了基于移动平面模板的相机标定方法。此方法是介于传统标定方法和自标定方法之间的一种方法,传统标定方法虽然精度高设备有较高的要求,其操作过程也比较繁

文***享 1年前 上传428   0

Excel实验报告格式

实验报告课程名称 计算机应用基础 实验项目名称 Excel综合应用 班级与班级代码 金融学班 实验室名称(或课室) 专 业 金融学类 任课教师

文***品 3年前 上传878   0