




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、中原工学院软件学院实验报告实验项目名称 二叉树的基本操作实现及其应用课程名称数据结构学生学生学号所在班级学科专业任课教师完成日期一、实验目的1熟悉二叉树结点的结构和对二叉树的基本操作。 2掌握对二叉树每一种操作的具体实现。3学会利用递归方法编写对二叉树这种递归数据结构进行处理的算法。4.会用二叉树解决简单的实际问题。二、实验容题目一设计程序实现二叉树结点的类型定义和对二叉树的基本操作 该程序包括二叉树结构类型以及每一种操作的具体的函数定义和主函数 1 按先序次序建立一个二叉树,2按 (A:先序B:中序C:后序)遍历输岀二叉树的所有结点以上比做,以下选做求二叉树中所有结点数求二叉树的深度三、实验
2、步骤、数据结构与核心算法的设计描述typedef struct nodechar data;struct node *lchild,*rchild;BinTNode, *BinTree; /定义二叉树的指针BinTree CreatBinTree(void)/先序遍历算法创建二叉树void Preorder(BinTree T)先序遍历void Inorder(BinTree T)中序遍历void Postorder(BinTree T)后序遍历int TreeDepth(BinTree T)求 深度(二)、函数调用及主函数设计程序调试及运行结果分析勒序遍历:de ba*后序谨历, 二賈树深度
3、科严J程一尺勒序遍历:de ba*后序谨历, 二賈树深度科严J程一尺PJI刑八P点序列用三格锂代;表王卩点xabed二冥树创建成功T数 点 一 度 历历無 逅黑的 先中后t结九序遍历;二叉树节点数N如结果所示,该程序实现了先序创建二叉树,先序遍历,中序遍 历,后序遍历及求深度,求节点数等功能。(四)实验总结 该实验主要是对二叉树的基本操作进行了训练。在实验的过程中,我 熟悉了二叉树的构造方法,以及二叉树的一些操作,通过此次实验, 我对二叉树的基本构造方法以及怎么使用递归的方法有了更深的理 解。四、主要算法流程图及程序清单1、主要算法流程图+*先序遍历 PreOrd&rQ中序遍历 InOrder
4、Q后序遍历 PostOrderQ12、程序清单#include#include#include typedef struct nodechar data;struct node *lchild,*rchild;BinTNode, *BinTree; /定义二叉树的指针BinTree CreatBinTree(void)/先序遍历算法创建二叉树 BinTree T; char ch;if(ch=getchar()= ) return(NULL);elseT=(BinTNode *)malloc(sizeof(BinTNode);T-data=ch;T-lchild=CreatBinTree();
5、/构造左子树T-rchild=CreatBinTree();/构造右子树return(T);/先序遍历void Preorder(BinTree T)if(T)printf(%c,T-data);Preorder(T-lchild);Preorder(T-rchild);/中序遍历void Inorder(BinTree T)if(T)Inorder(T-lchild);printf(%c,T-data);Inorder(T-rchild);/后序遍历void Postorder(BinTree T)if(T)Postorder(T-lchild);Postorder(T-rchild);pr
6、intf(%c,T-data);int TreeDepth(BinTree T) int hl,hr,max;if(T)hl=TreeDepth(T-lchild); hr=TreeDepth(T-rchild); max=hlhr? hl:hr;NodeNum=NodeNum+1; return(max+1);else return(0);Int TreeNode(BinTree T)int NodeNum=0;if(T)TreeDepth(T-lchild);TreeDepth(T-rchild);NodeNum=NodeNum+1; return(NodeNum);elsereturn
7、0;/主函数 void main()BinTree root;int i,depth,NodeNum;printf(创建二叉树;输入节点序列(用空格键代表空节点):n); root=CreatBinTree();printf(二叉树创建成功!nn);创建二叉树,返回根结点printf(tt*选择操作*n);printf(tt*选择操作*n);printf(tt1:先序遍历n);printf(tt2:中序遍历n);printf(tt3:后序遍历n);printf(tt4:求树的深度,节点数n); printf(ttO:结束n);printf(tt*汝printf(tt*汝*n);while(scanf(%d,&i)输入菜单序号(0-4)switch (i)case 1: printf(先序遍历:n);Preorder(root); break;case 2: printf(中序遍历:n);Inorder(root); break;case 3: printf(后序遍历:n );Postorder(root); break
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年国际设计师专业知识试题及答案
- 村务干部面试题目及答案
- 2024年纺织品设计师证书的考试内容与要求试题及答案
- 急救试题及答案判断题
- 化学储氢试题及答案大全
- 殡仪知识考试题库及答案
- 安康小学面试题目及答案
- 【IRENA】公用事业规模太阳能和风能地区的投资机会:格鲁吉亚分区评估
- 完整掌握2024年助理广告师试题及答案
- 2024年纺织品设计师证书的实际案例学习试题及答案
- GA 1812.2-2024银行系统反恐怖防范要求第2部分:数据中心
- 2025至2030中国智慧消防行业发展状况及未来前景研究报告
- 联锁系统设备调试施工作业指导书
- 热网工程施工组织设计方案
- 2025年上半年黑龙江牡丹江市“市委书记进校园”活动暨“雪城优才”企事业单位人才招聘1324人重点基础提升(共500题)附带答案详解
- 2025年重庆市中考物理模拟试卷(一)(含解析)
- 髌骨骨折的中医护理查房
- 希尔顿管理制度
- 2022继电保护微机型试验装置技术条件
- 2025年浙江宁波交通工程建设集团有限公司招聘笔试参考题库含答案解析
- 消毒供应中心管理制度
评论
0/150
提交评论