二叉树--数据结构课程设计报告
更新时间:2023-09-29 02:27:01 阅读量: 综合文库 文档下载
武汉纺织大学
数学与计算机学院
数据结构课程设计报告
二叉树的编码
学生姓名: 学号: 班级: 指导老师: 报告日期:年月日
1 题目与要求
1.1 问题提出
其中,x,y是两个整数坐标,采用由上至下和从左到右的方法对这些坐标进行赋值;size表示结点所有子孙结点的个数;depth表示结点的层次。如下图所示:
A(1,22,10,1)括号内数值含义(x,y,size,depth)B(2,11,4,2)C(12,21,4,2)D(3,10,3,3)E(13,14,0,3)F(15,20,2,3)G(4,5,0,4)H(6,9,1,4)I(16,19,1,4)J(7,8,0,5)
K(17,18,0,5)要求利用所学的知识编写代码创建二叉树,求x,y,size,depth的值,并完成相应的操作,掌握二叉树的基本知识!
1.2 本系统涉及的知识点
涉及的相关知识点: 1.二叉树的先序建立 2.递归算法 3.队列
4.逆中序输出结点 5.二叉树的遍历 6.凹入法
1.3 功能要求
实现的主要功能:
⑴根据课本“算法6.4”建立上图所示的二叉树,并且对每个结点的(x,y,size,depth)都赋零值,即(0,0,0,0)。 ⑵编写算法求每个结点的(x,y)。 ⑶编写算法求每个结点的size。
⑷编写算法求每个结点的depth。
⑸求二叉树中分支结点和叶子结点的数目。
⑹二叉树的繁茂度定义为各层结点数的最大值与树的深度的乘积,求二叉树的繁茂度。
⑺编写算法判别给定二叉树是否为完全二叉树。 ⑻按中序凹入法显示二叉树。 ⑼对二叉树进行层序遍历。 ⑽销毁二叉树中的所有结点,要求在销毁每一个结点前,输出该结点的数据域。
2 功能设计
2.1 数据结构定义
二叉树的二叉链表存储表示如下: typedefstructBiNode {
char data;
int x, y, size, depth;
structBiNode *lchild, *rchild; }BiNode, *BiTree;
2.2 模块图
1.建立二叉树并赋零值 2.求每个结点的(x,y) 3.求每个结点的size 4.求每个结点的depth 5.分支结点和叶子结点的数目 6.求二叉树的繁茂度 7.判别是否为完全二叉树 8.中序凹入法显示二叉树 9.对二叉树进行层序遍历 10.销毁二叉树的结点 二叉树的操作
3 程序代码设计
#include \#include \typedefstructBiNode {
char data;
intx,y,size,depth;
structBiNode *lchild,*rchild; }BiNode,*BiTree; int max,max1,max2; BiTreecreat(BiTree T) {
char c;
scanf(\ if(c=='#') T=NULL;
else { T=(BiTree)malloc(sizeof(BiNode)); T->data=c; T->x=0; T->y=0; T->size=0; T->depth=0; printf(\请输入%c结点的左子结点:\ fflush(stdin); T->lchild=creat(T->lchild); printf(\请输入%c结点的右子结点:\ fflush(stdin); T->rchild=creat(T->rchild); } return T; }
void degree(BiTree T)//求二叉树的各层结点树的最大值 {
BiTreeTree[30]; int n=1,i=0,flag; if(T->y==0) {
Tree[i]=T; Tree[i]->x=n;
Tree[i]->depth=i+1; max=Tree[i]->depth; i++;n++; while(i>=1) { flag=0; while(Tree[i-1]->lchild!=NULL) { Tree[i]=Tree[i-1]->lchild; if(Tree[i]->y==0) { Tree[i]->x=n; Tree[i]->depth=i+1; max=max>Tree[i]->depth?max:Tree[i]->depth;
正在阅读:
二叉树--数据结构课程设计报告09-29
图形学实验指导书2009(1)05-27
DIY化妆品行业环境分析报告05-25
面向对象编程练习题库 - test03-11
香港理工大学的多光谱掌纹数据库_图像处理_科研数据集07-22
网络信息安全综合实验任务书2-科院05-28
教师下乡支教申请书4篇02-24
1新闻发布须懂公众心理05-13
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 数据结构
- 课程
- 报告
- 设计
- 经典配乐散文诗朗诵(60篇)
- 2010年广东省公务员笔试《行政职业能力测验》真题和答案 - 图文
- 天津外国语大学认定的核心期刊目录总览
- 诚实守信事迹简介最新版
- 科学简史:科学革命篇论文
- (整理完)园林艺术及设计原理网上作业题
- (13份试卷合集)海南省2017-2018学年语文八下期末试卷汇总word可编辑
- 北京地铁某某线第四合同段土建工程测量实施方案
- 音标中的字母及字母组合发音
- 黄小琥:冷板凳坐三十年,也会有热的一天 doc - 图文
- 英语练习短文1
- 人教版音乐一年级上册《大鼓和小鼓》教案
- 高中政治必修三文化生活第四单元复习提纲
- 市中小学中华优秀传统文化教育情况调研报告(精简篇)
- 产科诊疗常规(DOC)
- 案防知识百问
- 六爻特训班讲义曲 伟
- 小学奥数-流水行船问题
- 12第十二章 直肠癌 - 图文
- 00054管理学原理 - 2007年4月试卷