课程设计报告
( 2011—2012年度第2学期)
实验名称:数据结构与算法
题 目:平衡二叉树学生信息管理系统 院 系:控计学院 班 级:信安1102 学 号:111290206 学生姓名:侯晓帅 指导教师:焦润海 设计周数:1周
成 绩:
日期:2012 年 7 月 5 日
课程设计报告
一、课程设计的目的与要求
(一).目的: 应用数据结构和算法来设计相应的程序,培养学生问题求解模块的框
架设计和详细设计、相关程序实现和调试能力,完成创新能力和实践能力的训练。
(二). 要求: 用高级程序设计语言C编码,用VC++开发平台调试。
二、设计正文
(一)、课程设计题目
用二叉平衡树实现学生基本信息管理,功能如下:
1,创建;2,插入;3,删除;4,查找;5,显示;6,保存;7,退出; 要求:所有信息用文件保存,基本信息包括(姓名,学号,出生年月,班级)
(二)、需求分析
本演示程序在DOS环境用C语言编写,完成平衡二叉树的生成,插入、删除,查找,修改,显示,排序,分组以及生成文件保存并读取。
1) 输入的形式和输入值的范围:插入元素时需要输入插入元素的基本信息;
删除元素时输入删除元素的关键字学号;查找操作时需要输入元素的姓名。在所有输入中,元素的值都是字符型数组。
2)输出的形式:在所有操作中都显示操作的结果。其中删除操作后显示删除的元3)程序所能达到的功能:完成单平衡二叉树的创建(通过插入操作)、插入、
素的值,查找操作后显示根据关键字查得的学生基本信息。
删除、查找,显示等操作。
4) 测试数据:
1.创建4个学生信息
naxu 1101 19930100 xinan1102 m akewei 1102 19930101 xinan1102 m liude 1103 19941210 xinan1102 m
1
课程设计报告
geyang 1104 19941214 xinan1102 f
2.插入1个学生信息liujie 1105 19940705 xinan1102 f 3.删除1个学生信息输入 1103则删除该结点信息 4. 查找学生信息 输入geyang 则显示该生基本信息
(三)、概要设计
1)数据类型及操作
为了实现上述程序功能,需要定义平衡二叉树抽象数据类型:
Elemtype node,*pnode
1.基本操作: create(pnode &ptree,int n)
操作结果:创建一个包含n个结点的平衡二叉树
2.基本操作:insert(pnode &ptree,Elemtype e,int &taller)
操作结果:将元素e平衡二叉树中 初始条件:二叉树ptree已存在
3.基本操作:delete1(pnode &ptree,char x[10],int &taller)
操作结果:删除树中关键字为char x[10]的结点 初始条件:二叉树ptree已存在
4.基本操作:find(pnode ptree,char *ch)
操作结果:查找树中是否存在姓名为char *ch的结点,若有,则输出结点信息 初始条件:二叉树ptree已存在
5.基本操作:change(pnode ptree,Elemtype e) 操作结果:查找出该关键字结点的位置并修改结点信息
初始条件:二叉树ptree已存在
6.基本操作:Print(pnode ptree,int indent)
操作结果:凹入显示平衡二叉树的结果 初始条件:二叉树ptree已存在
2
课程设计报告
7.基本操作:display(pnode ptree)
操作结果:中序遍历显示按学号排序结果 初始条件:二叉树ptree已存在
8.基本操作:male(pnode ptree),fmale(pnode ptree)
操作结果:按性别分组显示学生基本信息 初始条件:二叉树ptree已存在
9. 基本操作:save(pnode ptree,FILE *p)
操作结果:保存二叉树中的结点信息到文件中 初始条件:二叉树ptree已存在
10.基本操作:read(pnode &ptree,FILE *p)
操作结果:读取文件中的信息并按照信息建立新的平衡二叉树
2)本程序包含17个函数:
1. 主函数main( ) 2. 插入结点函数insert( )
3. 插入时调用的左平衡处理left1 ( ) 4. 插入时调用的右平衡处理right1 ( ) 5. 删除结点函数 delete1( )
6. 删除时调用的左平衡处理left2 ( ) 7. 删除时调用的右平衡处理right2( )
8. 删除时调用的用于处理结点左右子树都存在的情况delete2( ) 9. 查找函数 find( )
10. 创建二叉树函数 create( ) 11. 修改结点信息函数 change( ) 12. 中序输出函数 display( )
3
课程设计报告
13. 凹入显示函数 Print( )
14. 输出性别为男的学生信息函数 male( ) 15. 输出性别为女的学生信息函数 fmale( ) 16. 存储学生信息到文件的函数 save( )
17. 读取文件中的学生信息并生成新的二叉平衡树的函数 read( )
3)程序调用示意图如下:
4
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库平衡二叉树学生信息管理系统报告在线全文阅读。
相关推荐: