数据结构实验三:二叉树的应用解析.doc
文本预览下载声明
《数据结构》实验报告
实验题目: 第三次实验《二叉树的应用》 姓名: 刘创 学号: 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
显示全部