文档详情

数据结构实验三:二叉树的应用解析.doc

发布:2017-02-19约3.5千字共8页下载文档
文本预览下载声明
《数据结构》实验报告 实验题目: 第三次实验《二叉树的应用》 姓名: 刘创 学号: 1座机电话号码 班级: 1320541 系名: 计算机工程系 专业: 计算机科学与技术 指导老师: 刘海静 实验时间:2015年5月28日星期四 实验地点: 软件实验室 【实验概述】 1.实验目的及要求 目的:掌握二叉树的有关知识,存储太原工业学院机构图 要求:存储二叉树; 遍历二叉树 计算二叉树的叶子,结点数数等 2.实验原理 二叉树应用原理 3.实验环境(使用的软件) VC++6.0/VS2013 【实验内容】 实验算法设计 实验 调试过程中,两个实验没有出现太大的问题,理论联系实际,多时间去实践方可等心应手。 实验代码: BinaryTree.cpp #include #include #include using namespace std; typedef char ElemType; //数据类型 typedef struct TREE struct TREE *lTree; //左子树 struct TREE *rTree; //右子树 char data[40]; //数据声明为字符数组 Tree; void InitBinaryTree Tree *tree ; //初始化二叉树 void CreateBinaryTree Tree *tree ; //创建二叉树 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 \n-- ; char Data[20]; cin Data; strcpy_s tree- data, Data ; cout \ tree- data \(机构)是否有左子树(下属机构)(0:没有 1:有):; cin n; if n 1 Tree *lTree Tree* malloc sizeof Tree ; tree- lTree lTree; lTree- lTree NULL; lTree- rTree NULL; CreateBinaryTree tree- lTree ; cout \ tree- data \(机构)是否有右子树(并列机构)(0:没有 1:有):; cin i; if i 0 ; else if i 1 Tree *rTree Tree* malloc sizeof Tree ; tree- rTree rTree; rTree- lTree NULL; rTree- rTree NULL; CreateBinaryTree tree- rTree ; else if n 0 cout \ tree- data \(机构)是否有右子树(并列机构)(0:没有 1:有):; cin 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 tree- data ; if tree- lTree ! NULL PreTraverse tree- lTree ; cout ]\n\t\t[; PreTraverse tree- rTree ; else if tree- rTree ! NULL PreTraverse tree- rTree ; void InTraverse Tree *tree //中序遍历递归 if tree ! NULL if tree- lTree ! NULL
显示全部
相似文档