




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计说明书树的孩子兄弟存储法求树的高度、宽度、结点数、叶子数摘 要C是一种通用的程序设计语言,C语言在很多方面继承和发展了以往许多高级程序设计语言的成功经验和特色,具有书写格式自由、数据类型丰富、语句功能强大、执行速度快和存储控制能力强等优点。学生信息管理系统设计是关于对学生各种信息管理来设计的一个系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成学生信息管理的全过程,包括创建学生信息、查找学生信息、修改学生信息、插入学生信息、删除学生信息、按平均分或者总分排序、统计学生信息等工作。本课程主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点说明了系统的设计思路
2、、总体设计、各个功能模块的设计与实现方法。关键词:学生管理系统,C语言,数据结构,Wintc目录树的孩子兄弟存储法求树的高度、宽度、结点数、叶子数1摘 要11课题背景介绍11.1 课题背景11.2 目的12需求分析22.1 数据需求分析22.2 功能需求分析23系统总体设计33.1 系统模块划分33.2 系统模块结构图34系统详细设计44.1创建孩子兄弟存储法44.2计算结点数44.3计算树的高度54.4计算树的叶子数54.5计算树的宽度6总 结7参考文献81 课题背景介绍1.1 课题背景随着网络技术的迅速发展,各种行业纷纷应用网络技术操作和管理。当然学校是一个很大的管理系统,随着学生的大量增
3、加,其管理难度也越来越大,如何对学生的个人信息进行更好的管理,这就是我们研究这个课题的目的。在计算机迅速发展的今天,将计算机这一信息处理器应用于学生的个人信息管理已是势必所然,而且这也将学生信息管理带来前所未有的改变。采用计算机对学生的信息管理是信息科学化和现代化的重要标志,它也给各大高校带来了明显的社会效益。主要体现在:极大地提高了管理工作人员的工作效率,大大地减少了以往的资料室所存在的各种弊端,同时也加强和规范学习对于学生信息的管理。为了能够更好的来实现对学生信息的管理,通过对学生信息管理日常工作的详细调查,搜集了大量的资料,从系统结构的组织,功能的实现,技术的要求以及可行性等多方面进行考
4、虑,认为本课题是一个适应现今学校学生个人信息管理需求的计算机信息管理系统,具有一定的实际开发价值和使用价值。1.2 目的本课题运用C语言进行开发,C语言能够简单的进行编译一些程序,来实现对一些问题的解决。它虽然比较简单的处理一些问题,但却有更高的效率。它能够被大多数用户所接受,因为它能够呈现出清晰的界面,是人们能够很好的理解。能在一些方面给人们更好的服务,成为人们的好帮手。经过这一个学期对数据结构的学习,我们都学到了不少东西,可能有些学的还不够理想,但无论如何这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期以来的学习成果,另一方面也是为了让我们进一
5、步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。2 需求分析随着学校规模的发展扩大,学校要向着大型化,规模化发展,而对于学生信息管理系统有关的信息随之增加。在这种情况下单靠人工来处理学生的信息不但显得大不从心,而且极容易出错。因此,需要开发学生管理系统,该系统可以实现由计算机代替人工执行一系列复杂而繁琐的操作,使得学校管理人员可以轻松快捷的完成学生信息管理的任务。2.1 数据需求分析本系统的主要是使用算法设计利用孩子兄弟存储求树的结点数、叶子数、高度、宽度、树的度。2.2 功能需求分析本系统主要实现对学生成绩信息进行管理,需要实现以下几个方面的管理功能:(1)创建树
6、(2)求树的结点数。(3)求树的高度。(4)求树的叶子树。(5)求树的宽度。3 系统总体设计3.1 系统模块划分本系统主要是对树的孩子兄弟存储法求树的各项运算。整个系统分为以下几3.2 系统模块结构图树的算法结点数叶子数宽度树的度高度根据系统功能设计,对应的系统模块结构图如图1所示:图1 系统模块结构图4 系统详细设计通过对该系统设计的了解与讨论,同时也为了广大使用者的方便与快捷。我们最后设计了这样的一个界面。首先要让使用者明白怎样使用此系统。这就需要通过界面来给他们一个清晰而明白的空间。而我们设计的这个界面恰好符合了这一要求。通过调用界面函数来使使用者能够很方便的进行查询、插入等操作。4.1
7、创建孩子兄弟存储法定义树的结构体Typedef struct nodeChar data;Struct CSNode *lchild, *rchild;BiNode,*BiTree;4.2计算结点数利用二叉链表的存储法求树的结点个数。int count(BiNode *t)int num1,num2;if(t=NULL)return 0;elsenum1=count(t->lchild);num2=count(t->rchild);return (num1+num2+1);4.3计算树的高度 /*求树的高度*/int height(CSTree t)int ldeep,rdeep;
8、if(t=NULL)return 0;t=t->lchild;if(t=NULL)return 1;elseldeep=height(t->lchild);rdeep=height(t->rchild);return (ldeep>rdeep)?(ldeep+2):(rdeep+2);4.4计算树的叶子数 /*计算树的叶子数*/int leafCount(BTNode)int num1,num2;if(t=NULL)return 0;else if(t->lchild=NULL)return 1;elset=t->lchild;num1=leafCount(
9、t->lchild);num2=leafcount(t->rchild);return (num1+num2+1);4.5计算树的宽度 int Width(BiTree T) int static n100;/向量存放各层结点数 int static i=1;/控制层数 int static max=0;/最大宽度 if(T) if(i=1) /若是访问根结点 ni+; /第1层加1 i+; /到第2层 if(T->lchild)/若有左孩子则该层加1 ni+; if(T->rchild)/若有右孩子则该层加1 ni+; else /访问子树结点 i+; /下一层结点数
10、 if(T->lchild) ni+; if(T->rchild) ni+; if(max<ni)max=ni;/取出最大值 Width(T->lchild);/遍历左子树 i-; /往上退一层 Width(T->rchild);/遍历右子树 return max; 总 结本设计实现的功能:成绩信息录入、成绩信息的管理等。并达到操作过程中的直观、方便、实用、安全等要求。系统采用模块化程序设计的方法,既便于系统功能的组合和修改,又便于未参与系统开发的技术维护人员补充和维护。本系统经过测试,证明其运行是稳定、可靠的。但在系统设计中也也遇到很多的问题,并且本系统的功能还需要不断的完善和改进,在以后空闲时间里逐一进行完善,使系统功能更加完善,使本软件能够更好的为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抖音直播带货用户画像数据授权及合作协议
- 环保型工业废水处理药剂储存与租赁长期协议
- 全球艺术品拍卖业务委托合同
- 轻轨车站售票柜台柜体维护与管理协议
- 学术会议主题论坛策划执行与专家邀请合同
- 农业气象信息采集器租赁与气象灾害风险评估与预警服务协议
- 中药配方颗粒原料生产专利授权合同
- 宠物美容连锁店品牌加盟与区域保护合同
- 宗教信仰自由子女成长与父母关爱协议
- 高质量职业资格考试培训讲师全面聘用协议
- BIM5D+智慧工地整体解决方案
- 医院窗帘合同模板写
- 最强非标自动化计算表格.V23SP1(二里半教育2023.07)
- 热爱生活主题班会
- DB31T 1487-2024 国际医疗服务规范
- 四川省达州市渠县2023-2024学年八年级下学期期末生物学试题(解析版)
- (高清版)AQ 1079-2009 瓦斯管道输送自动喷粉抑爆装置通 用技术条件
- 2024年广东省深圳市中考地理试卷(含答案)
- 贵州老年大学聘任教师登记表
- 第四单元《学习演讲词》整体设计 说课 课件- 2023-2024学年统编版语文八年级下册
- 遵守银行业监管规定承诺书
评论
0/150
提交评论