学生成绩条形图统计问题_实验报告

上传人:飞*** 文档编号:40498128 上传时间:2018-05-26 格式:DOCX 页数:26 大小:351.38KB
返回 下载 相关 举报
学生成绩条形图统计问题_实验报告_第1页
第1页 / 共26页
学生成绩条形图统计问题_实验报告_第2页
第2页 / 共26页
学生成绩条形图统计问题_实验报告_第3页
第3页 / 共26页
学生成绩条形图统计问题_实验报告_第4页
第4页 / 共26页
学生成绩条形图统计问题_实验报告_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《学生成绩条形图统计问题_实验报告》由会员分享,可在线阅读,更多相关《学生成绩条形图统计问题_实验报告(26页珍藏版)》请在金锄头文库上搜索。

1、东北大学信息科学与工程学院东北大学信息科学与工程学院数据结构课程设计报告数据结构课程设计报告题目 学生成绩条形图统计问题课题组长 王健 课题组成员 张颖 刘琪 张晓雨专业名称 计算机科学与技术班级 计 1307指导教师 杨雷2015 年 1 月1课程设计任务书课程设计任务书题目:题目:学生成绩条形图统计问题问题描述:问题描述:条形图问题描述:给定 n 个数据,绘出表示这 n 个数据的条形统计图。即统计出这 n 个数据中有多少个不同的值,以及每个值出现的频率是多少。条形图常用于表示数据分布情况。例如,学生考试成绩统计、居民收入分布情况等。假设输入数据为正整数,利用二叉排序树完成输入数据频率统计。

2、设计要求:设计要求:设计基于二叉排序树的学生成绩条形图统计程序。(1)采用 STL 的二叉排序树等数据结构。(2)实现 STL 的二叉排序树 stree 类。(3)实现学生成绩条形图统计。指导教师签字:指导教师签字:年年 月月 日日2目录目录 1 1 课题概述课题概述.41.11.1 课题任务课题任务.41.21.2 课题原理课题原理.41.31.3 相关知识相关知识.42 2 需求分析需求分析.52.12.1 课题调研课题调研.52.22.2 用户需求分析用户需求分析.53 3 方案设计方案设计.63.13.1 总体功能设计总体功能设计.63.23.2 数据结构设计数据结构设计.63.33.

3、3 函数原型设计函数原型设计.63.43.4 主算法设计主算法设计.73.53.5 用户界面设计用户界面设计.94 4 方案实现方案实现.104.14.1 开发环境与工具开发环境与工具.104.24.2 程序设计关键技术程序设计关键技术.104.34.3 个人设计实现(按组员分工)个人设计实现(按组员分工)4.3.14.3.1 刘琪设计实现刘琪设计实现.104.3.24.3.2 张晓雨设计实现张晓雨设计实现.114.3.34.3.3 王健设计实现王健设计实现.134.3.44.3.4 张颖设计实现张颖设计实现.145 5 测试与调试测试与调试.175.15.1 个人测试(按组员分工)个人测试(

4、按组员分工).175.1.15.1.1 刘琪测试刘琪测试.175.1.25.1.2 张晓雨测试张晓雨测试.175.1.35.1.3 王健测试王健测试.1735.1.45.1.4 张颖测试张颖测试.175.25.2 组装与系统测试组装与系统测试.175.35.3 系统运行系统运行.196 6 课题总结课题总结.216.16.1 课题评价课题评价.216.26.2 团队协作团队协作.216.36.3 下一步工作下一步工作.216.46.4 个人设计小结(按组员分工)个人设计小结(按组员分工).216.4.16.4.1 刘琪设计小结刘琪设计小结.216.4.26.4.2 张晓雨设计小结张晓雨设计小结

5、.226.4.36.4.3 王健设计小结王健设计小结.226.4.46.4.4 张颖设计小结张颖设计小结.227 7 附录附录 A A 课题任务分工课题任务分工.23A-1A-1 课题程序设计分工课题程序设计分工.23A-2A-2 课题报告分工课题报告分工.24附录附录 B B 课题设计文档(光盘)课题设计文档(光盘).25B-1B-1 源程序代码(源程序代码(*.H*.H,*.CPP*.CPP).25B-2B-2 工程与可执行文件)工程与可执行文件).25 附录附录 C C 用户操作手册(可选)用户操作手册(可选).25C.1C.1 运行环境说明运行环境说明.25C.2C.2 操作说明操作说

6、明.2541 课题概述1.1 课题任务设计基于二叉排序树的学生成绩条形图统计程序。 (1)采用 STL 的二叉排序树等数据结构。 (2)实现 STL 的二叉排序树 stree 类。 (3)实现学生成绩条形图统计。1.2 课题原理1.2.1 平衡二叉树又称 AVL 树。它或者是一颗空树,或者是具有下列性质 的二叉树:它的左子树和右子树都是平衡二叉树,切左子树和右子树的深度之 差的绝对值不超过 1。若将二叉树上的结点的平衡因子 BF 定义为该结点的左子 树的深度减去它的右子树的深度,则平衡二叉树上所有结点的平衡因子只可能 是-1、0 和 1.只要二叉树上有一个结点的平衡因子的绝对值大于 1,则该二

7、叉树 就是不平衡的。 1.2.2 对树中全部结点逐一进行某种处理需要对其进行遍历。中序遍历二叉 树的操作定义为:若二叉树为空,则空操作;否则: (1) 中序遍历左子树; (2) 访问根节点; (3) 中序遍历右子树。1.3 相关知识1.3.1AVL 算法构建 AVL 树1.3.2 平衡二叉树结点的插入与删除1.3.3 平衡二叉树数据统计1.3.4 在 dos 下打印表52 需求分析2.1 课题调研随着现代高科技的不断发展,人们在面临大量数据的同时,必须发掘有效 的方法将数据进行一点的规律统计,以便能直观的从统计中发现数据间的总体 宏观表现,为下一步的数据处理提供有效的数据频率依据。2.2 用户

8、需求分析据调查,人们对考试的成绩分布有着重大需求。而一般考试均为百分制, 分为五等优(90 分) ,良(90 分80 分) ,中(80 分70 分) ,及格(70 分60 分)和不及格(data;(*nu)+;TravelAVL(T-lchild,nu);TravelAVL(T-rchild,nu);void Destroy(BSTree Destroy(T-rchild);free(T);11void Combine_ALV(BSTree char nu110;nu=0;Creat_AVL(T1);getchar();TravelAVL(T1,Destroy(T1);T1=NULL;for(

9、i=0;irchild,n+3); /遍历打印右子树/访问根节点if(n=0)if(T-datadata=90)grade0+=T-count;else if(T-data=80)grade1+=T-count;else if(T-data=70)grade2+=T-count;else if(T-data=60)grade3+=T-count;elsegrade4+=T-count; 12PrintAVL(T-lchild,n+3); /便利打印左子树void Veiw_AVL(BSTree T)int n;TravelAVL(T,for(int i=0;ilchild; / lc 指向*T 的左子树switch(lc-bf) /检查*T 的左子树的平衡度,并作相应平衡处理 case LH: /新结点插入在*T 的左孩子的左子树上,要作单右旋处理T-bf=lc-bf=EH;R_Rotate(T);break;case RH: /新结点插入在*T 的左孩子的右子树上,要作双旋处理rd=lc-rchild; / rd 指向*T 的左孩子的右子树根switch(rd-

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号