版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据结构实验报告实验题目: 第三次实验二叉树的应用 姓名: 刘创 学号: 132054137 班级: 1320541 系名: 计算机工程系 专业: 计算机科学与技术 指导老师: 刘海静 实验时间:2015年5月28日星期四 实验地点: 软件实验室 【实验概述】1.实验目的及要求目的:掌握二叉树的有关知识,存储太原工业学院机构图要求:存储二叉树; 遍历二叉树 计算二叉树的叶子,结点数数等2.实验原理二叉树应用原理3.实验环境(使用的软件)VC+6.0/VS2013【实验内容】1. 实验算法设计实验:使用二叉树存储太原工业学院机构; 2. 实验过程(源代码及描述、调试过程及分析)调试过程中,两个实
2、验没有出现太大的问题,理论联系实际,多时间去实践方可等心应手。实验代码: BinaryTree.cpp#include#include#includeusing namespace std;typedef char ElemType; /数据类型typedef struct TREEstruct TREE *lTree; /左子树struct TREE *rTree; /右子树 char data40; /数据声明为字符数组Tree;void InitBinaryTree(Tree *tree); /初始化二叉树void CreateBinaryTree(Tree *tree); /创建二叉树
3、void PreTraverse(Tree *tree); /先序遍历二叉树int DepthTree(Tree *tree); /二叉树深度函数int LeafsTree(Tree *tree); /叶子个数函数void InitBinaryTree(Tree *tree) /初始化二叉树tree-lTree = NULL;/初始化数据tree-rTree = NULL;strcpy_s(tree-data, 0);void CreateBinaryTree(Tree *tree)/创建树int n = 0, m = 0, i = 0;cout ;char Data20;cin Data;s
4、trcpy_s(tree-data, Data);cout data n;if (n = 1)Tree *lTree = (Tree*)malloc(sizeof(Tree);tree-lTree = lTree;lTree-lTree = NULL;lTree-rTree = NULL;CreateBinaryTree(tree-lTree);cout data i;if (i = 0);else if (i = 1)Tree *rTree = (Tree*)malloc(sizeof(Tree);tree-rTree = rTree;rTree-lTree = NULL;rTree-rTr
5、ee = NULL;CreateBinaryTree(tree-rTree);else if (n = 0)cout data m;if (m = 0);else if (m = 1)Tree *rTree = (Tree*)malloc(sizeof(Tree);tree-rTree = rTree;rTree-lTree = NULL;rTree-rTree = NULL;CreateBinaryTree(tree-rTree);void PreTraverse(Tree *tree) /先序遍历二叉树if (tree != NULL)cout data lTree != NULL)Pre
6、Traverse(tree-lTree);cout rTree);else if (tree-rTree != NULL)PreTraverse(tree-rTree);void InTraverse(Tree *tree)/中序遍历递归if (tree != NULL)if (tree-lTree != NULL)InTraverse(tree-lTree);cout data rTree);cout rTree != NULL)cout data rTree);elsecout data lTree != NULL)PostTraverse(tree-lTree);PostTraverse
7、(tree-rTree);cout data rTree != NULL)PostTraverse(tree-rTree);cout data ;elsecout data lTree=NULL&tree-rTree=NULL) return 1;/叶子结点l = DepthTree(tree-lTree);r = DepthTree(tree-rTree);return (l = r ? l + 1 : r + 1);int LeafTree(Tree *tree)/叶子个数函数if (tree = NULL)return 0;else if (tree-lTree = NULL&tree-
8、rTree = NULL)return 1;return(LeafTree(tree-lTree) + LeafTree(tree-rTree);int main(int argc, char *argv)system(color 1b);Tree tree;InitBinaryTree(&tree); /初始化二叉树cout 后输入机构的数据内容n(请输入机构名称,如:太原工业学院、计算机工程系、计科专业、班级等);CreateBinaryTree(&tree); /创建二叉树cout 先序遍历的结果为:n; PreTraverse(&tree); /先序遍历二叉树cout 中序遍历的结果为:n;InTraverse(&tree); /中序遍历递归cout 后序遍历的结果为:n;PostTraverse(&tree); /后序遍历递归cout n此二叉树深度为: DepthTree(&tree);cou
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市石英玻璃矿租赁合同样本
- 公司之间双方合作协议书9篇
- 位置租赁合同
- 2024春五年级下语文期中归类整合复习-字词、句子品析、课文积累
- 《纯电动汽车构造与检修》祝良荣 第二版 教案 1.1 电动汽车概念和分类的认知 - 4.3 DCDC变换器的认知与拆卸
- 建设高速公路畅通交通
- 《机械产品三维工艺设计+第7部分:发放要求GBT+41923.7-2022》详细解读
- 二年级下册美术教案及反思 - 第九课 动漫亮相 ︳湘美版
- 粤教版八年级地理上册教案(全册)
- 国际合作高中地理人教版(2019)选择性必修2
- 工程公司“十四五”发展战略规划(专业完整模板)
- Unit 1 In class教学反思译林版三起英语三年级下册
- 矿山生产现场应急处置方案
- 《企业采购成本控制现状、问题及对策研究-以三全食品为例(论文)10000字》
- 1-1000 π值查阅表统计
- 《核心素养视角下初中数学课堂“问题串”式教学策略研究》结题报告
- 心肺复苏管理制度
- 宁国经济技术开发区(含安徽宁国港口生态产业园)环境影响区域评估报告
- 2017版银皮书(中英文完整版)FIDIC设计采购施工交钥匙项目合同条件
- 2023年三级计算机程序设计员核心考点题库300题(含答案)
- 2022年滁州市天长市社区工作者招聘考试试题
评论
0/150
提交评论