数据结构综合实验题目及要求

上传人:cl****1 文档编号:545235855 上传时间:2023-03-08 格式:DOCX 页数:10 大小:62.80KB
返回 下载 相关 举报
数据结构综合实验题目及要求_第1页
第1页 / 共10页
数据结构综合实验题目及要求_第2页
第2页 / 共10页
数据结构综合实验题目及要求_第3页
第3页 / 共10页
数据结构综合实验题目及要求_第4页
第4页 / 共10页
数据结构综合实验题目及要求_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数据结构综合实验题目及要求》由会员分享,可在线阅读,更多相关《数据结构综合实验题目及要求(10页珍藏版)》请在金锄头文库上搜索。

1、数据结构综合实验设计题目及要求一、要求本次课程设计可以从以下的题目中任选其一,每个题目基本实现的要求是:1、程序设计书(Word格式)。包括程序设计目标、问题描述、需求分析、概要设计、详细设计、源程序清单(要求 格式整齐400 行以上,要有注释说明)、软件说明书(给出软件如何使用,使用时的注意事 项)、测试报告(每个函数的功能测试,输入条件,输出结果)和总结。2、可执行程序源代码。二、设计题目题目一 仓库管理系统(线性表应用)问题描述建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删除 货物以及建立新的仓库存储系统。实现提示可以采用双向链表的存储结构,如可定义如下的存储

2、结构:typedef struct dnode/*定义双向链表结构体*/int number;/*货物编号*/char namemax; /*货物名称*/int counter;/*货物数量*/struct dnode *prior,*next; /*定义两指针,分别指向其前驱和后继*/dlnode;题目二 单位员工通讯录管理系统(线性表应用)问题描述 为某个单位建立一个员工通讯录管理系统,可以方便查询每一个员工的办公室电话、手 机号、及电子邮箱。其功能包括通讯录链表的建立、员工通讯信息的查询、修改、插入与删 除、以及整个通讯录表的输出。实现提示 可以采用单链表的存储结构,如可定义如下的存储结

3、构: typedef struct /*员工通讯信息的结构类型定义*/char num5;/*员工编号*/char name10;/*员工姓名*/char phone15;/*办公室电话号码*/char call15;/*手机号码*/DataType;/*通讯录单链表的结点类型*/ typedef struct node DataType data;/*结点的数据域*/struct node *next;/*结点的指针域*/ListNode,*LinkList;题目三 哈夫曼编码/译码系统(树应用)问题描述 利用哈夫曼编码进行通信,可以压缩通信的数据量,提高传输效率,缩短信息的传输时 间,还有

4、一定的保密性。现在要求编写一程序模拟传输过程,实现在发送前将要发送的字符 信息进行编码,然后进行发送,接收后将传来的数据进行译码,即将信息还原成发送前的字 符信息。实现提示 在本例中设置发送者和接受者两个功能, 发送者的功能包括: 输入待传送的字符信息; 统计字符信息中出现的字符种类数和各字符出现的次数(频率); 根据字符的种类数和各自出现的次数建立哈夫曼树; 利用以上哈夫曼树求出各字符的哈夫曼编码; 将字符信息转换成对应的编码信息进行传送。接受者的功能包括: 接收发送者传送来的编码信息; 利用上述哈夫曼树对编码信息进行翻译,即将编码信息还原成发送前的字符信息。 从以上分析可发现,在本例中的主

5、要算法有三个:(1)哈夫曼树的建立;(2)哈夫曼编码的生成;(3)对编码信息的翻译。题目四 教学计划编制问题(图的应用)问题描述 大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学 期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的,而且课程在 开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门, 也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。实现提示1、输入参数应包括:学期总数,一学期的学分上限,每门课的课程号(可以是固定占 3 位的字母数字串)、学分和直接先修课的课程号。2、应允许用户指定

6、下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均 匀;二是使课程尽可能地集中在前几个学期中。3、若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定 的文件中。计划的表格格式可以自己设计。4、可设学期总数不超过 12,课程总数不超过100。如果输入的先修课程号不在该专业 开设的课程序列中,则作为错误处理。题目五 图书管理系统(查找应用) 问题描述 图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设 计一个图书管理系统,将上述业务活动借助于计算机系统完成。实现提示 1、每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。 2、

7、由于图书管理的基本业务活动都是通过书号(即关键字)进行的,所以要用对书号 索引,以获得高效率。3、系统应实现的基本功能有: 采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去。如果这 两种书在帐中已有,则只将总库存量增加。 清除库存:某种书已无保留价值,将它从图书帐目中注销。 借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还 期限。 归还:注销对借阅者的登记,改变该书的现存量。 显示:以凹入表的形式显示B树。这个操作是为了调试和维护的目的而设置的。题目六 通信录查询系统(查找应用)【问题描述】 设计散列表实现通讯录查找系统。(1) 设每个记录有下列数据项:电话

8、号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;(3) 采用二次探测再散列法解决冲突;(4) 查找并显示给定电话号码的记录;(5) 通讯录信息文件保存;(6) 要求人机界面友好,使用图形化界面;【实现提示】主函数:根据选单的选项调用各函数,并完成相应的功能。Menu ()的功能:显示英文提示选单。Quit()的功能:退出选单。Create ()的功能:创建新的通讯录。Append()的功能:在通讯录的末尾写入新的信息,并返回选单。Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有 此人的信息,并返回选单。Alter()的功能:

9、修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息, 并返回选单。Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信 息,并返回选单。List()的功能:显示通讯录中的所有记录。Save()的功能:保存通讯录中的所有记录到指定文件中。Load()的功能:从指定文件中读取通讯录中的记录。题目七 药店的药品销售统计系统(排序应用)【问题描述】设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、 销售量或销售额做出排名。【实现提示】 在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信 息包括:药

10、品编号、药名、药品单价、销出数量、销售额。药品编号共4 位,采用字母和数 字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可 采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如 直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采 用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。 药品信息的元素类型定义: typedef struct node char num4; /*药品编号*/char name10; /*药品名称*/float price; /*药品单价*/int coun

11、t;/*销售数量*/float sale; /*本药品销售额*/DataType; 存储药品信息的顺序表的定义: typedef struct DataType rMaxSize;int length; SequenList;题目八 电视大赛观众投票及排名系统(排序应用)【问题描述】在很多的电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选手进 行投票,然后对选手获得的票数进行统计,从高到低进行降序排序,从而自动产生冠军、亚 军和季军。现在要求编写一程序模拟实现上述系统的功能。【实现提示】在本例中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过malloc函数来开 辟

12、存放选手信息的顺序表。将选手的编号和姓名依此存入顺序表单元中,观众通过按键进行 投票,按1为 1 号选手投票,按2为2号选手投票,以此类推,以按0作为投票结束标志。 投票结束后进行排序,在此采用希尔排序,然后为每个选手计算名次,得票相同的名次也相 同,( 1 )存储类型的定义 参赛选手信息存储类型的定义: typedef struct nodechar name8; /*选手姓名*/int num; /*选手编号*/int score; /*选手得分*/ int tax; /*选手名次*/ Node;题目九 运动会分数统计(排序应用)【问题描述】参加运动会有n个学校,学校编号为1n。比赛分成m

13、个男子项目,和w个女子 项目。项目编号为男子1m,女子m+1.m+w。不同的项目取前五名或前三名积分;取 前五名的积分分别为:7、5、3、2、1,前三名的积分分别为:5、3、2;哪些取前五名或前 三名由学生自己设定。(m=20,n=20)【实现提示】功能要求:1).可以输入各个项目的前三名或前五名的成绩;2)能统计各学校总分,3)可以按学校编号、学校总分、男女团体总分排序输出;4).可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的 学校。规定:输入数据形式和范围:20 以内的整数(如果做得更好可以输入学校的名称,运 动项目的名称)输出形式:有中文提示,各学校分数为整形

14、 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要 求。存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在 数据文件中。(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决) 请在最后的上交资料中指明你用到的存储结构;测试数据:要求使用 1、全部合法数据; 2、整体非法数据; 3、局部非法数据。进行程序测 试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;题目十 航班信息的查询与检索(排序应用)【问题描述】 该设计要求对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查

15、询。【实现提示】 对于本设计,可采用基数排序法对一组具有结构特点的飞机航班号进行排序,利用二分查找法对排好序的航班记录按航班号实现快速查找,按其他次关键字的查找可采用最简单的顺序查找方法进行,因此他们用得较少。每个航班记录包括八项,分别是:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等,假设航班信息表(8条记录)航班号起点站终点站班期起飞时间到达时间机型票价CA1544合肥北京1.2.4.510551240733960MU5341上海广州每日14201615M901280CZ3869重庆深圳2.4.6085510357331010MU3682桂林南京2.3.4.6.720502215M901380HU1836上海北京每日094011207381250CZ3528成都厦门1.3.4

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 建筑资料

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