11级中韩数据结构课程设计题目及要求(学生)_第1页
11级中韩数据结构课程设计题目及要求(学生)_第2页
11级中韩数据结构课程设计题目及要求(学生)_第3页
11级中韩数据结构课程设计题目及要求(学生)_第4页
11级中韩数据结构课程设计题目及要求(学生)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、11级中韩数据结构课程设计题目及要求一、课程设计目的数据结构是计算机专业一门重要的专业技术基础课程,是一门关键性核心课程。数据结构课程的目标是使学生学会分析研究计算机加工对象的特性,选择合适的数据结构和存储表示,以及编制相应的实现算法,培养和提高学生程序设计的能力。数据结构课程也是一门实践性较强的课程,设置实践环节是十分重要的。本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。二、课程设计内容第一部分:通过图书馆或网络查询学术期刊,从学术期刊中找到一篇应用了与从数据结构课程相关的算法的文章,阅读该文章,并记录下这

2、个文章主题,总结出作者是怎样把数据结构课程相关的知识应用到研究中,并把总结写成300字左右的报告交上来(报告里要表明是看了哪本期刊中的哪篇文章)。请从这些学术期刊中查询:计算机学报软件学报计算机研究与应用计算机软件与应用小型微型系统计算机工程与应用计算机工程计算机辅助设计与图形学学报以及其他计算机类相关学术期刊。第二部分: 在以下项目中选择一个项目进行开发题目一:仓库管理系统(线性表应用)问题描述建立一个仓库管理程序,可以按顺序和货物名称查询仓库存储情况,也可以增加或删除货物以及建立新的仓库存储系统。实现提示可以采用双向链表的存储结构,如可定义如下的存储结构:typedef struct dn

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

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

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

6、)哈夫曼编码的生成;(3)对编码信息的翻译。题目四:所有顶点对最短路径问题(图的应用)问题描述医院选址:4个村庄之间的交通图如图1所示,村庄之间的距离为图中各边上的权值。现在要从这4个村庄中选择一个村庄建一所医院,问这所医院应建在哪个村庄,才能使离医院最远的村庄到医院最近。6AB856764DC图1村庄交通图 实现提示用有向加权图表示的交通图中,有向边表示第i个村庄和第j个村庄之间有道路,边上的权表示这条道路的长度。该问题实质上是求解任意两顶点间最短路径问题。解决思想与方案:(1) 运用弗洛伊德算法求出有向图中各顶点对的最短距离。(2) 根据步骤(1)结果,求出每个顶点到其他顶点的最短距离的最

7、大值。(3) 最大值最小的顶点作为医院所在村庄。结构定义:typedef char vextype; /*顶点数据类型*/typedef int edgetype; /*边数据类型*/typedef struct vextype vexMANVEX; edgetype arcMANVEXMANVEX; int vexnum,arcnum; /*顶点数和边数*/ Mgraph; /*图的邻接矩阵表示结构定义*/题目五:教学计划编制问题(图的应用)问题描述大学的每个专业都要制定教学计划。假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等。每个专业开设的课程都是确定的

8、,而且课程在开设时间的安排必须满足先修关系。每门课程有哪些先修课程是确定的,可以有任意多门,也可以没有。每门课恰好占一个学期。试在这样的前提下设计一个教学计划编制程序。实现提示1、 输入参数应包括:学期总数,一学期的学分上限,每门课的课程号(可以是固定占3位的字母数字串)、学分和直接先修课的课程号。2、 应允许用户指定下列两种编排策略之一:一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。3、 若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。计划的表格格式可以自己设计。4、 可设学期总数不超过12,课程总数不超过100。如果输入的先

9、修课程号不在该专业开设的课程序列中,则作为错误处理。题目六:图书管理系统(查找应用)问题描述图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。实现提示1、 每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。2、 系统应实现的基本功能有:l 采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去。如果这两种书在帐中已有,则只将总库存量增加。l 清除库存:某种书已无保留价值,将它从图书帐目中注销。l 借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限。l 归还:注销对借

10、阅者的登记,改变该书的现存量。l 显示:以凹入表的形式显示B树。这个操作是为了调试和维护的目的而设置的。题目七: 通信录查询系统(查找应用)【问题描述】设计散列表实现通讯录查找系统。(1) 设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;(3) 采用二次探测再散列法解决冲突;(4) 查找并显示给定电话号码的记录;(5) 通讯录信息文件保存;(6) 要求人机界面友好,使用图形化界面;【实现提示】主函数:根据选单的选项调用各函数,并完成相应的功能。Menu()的功能:显示英文提示选单。Quit()的功能:退出选单。Create()的功能:

11、创建新的通讯录。Append()的功能:在通讯录的末尾写入新的信息,并返回选单。Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有此人的信息,并返回选单。Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。List()的功能:显示通讯录中的所有记录。Save()的功能:保存通讯录中的所有记录到指定文件中。Load()的功能:从指定文件中读取通讯录中的记录。题目八: 药店的药品销售统计系统(排序应用)【问题描

12、述】设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。【实现提示】在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。药品信息的元

13、素类型定义:typedef struct node char num4; /*药品编号*/ char name10; /*药品名称*/ float price; /*药品单价*/ int count; /*销售数量*/ float sale; /*本药品销售额*/ DataType;存储药品信息的顺序表的定义:typedef struct DataType rMaxSize; int length;SequenList;题目九: 电视大赛观众投票及排名系统(排序应用)【问题描述】 在很多的电视大赛中,通常当选手表演结束后,现场观众通过手中的按键对参赛选手进行投票,然后对选手获得的票数进行统计,

14、从高到低进行降序排序,从而自动产生冠军、亚军和季军。现在要求编写一程序模拟实现上述系统的功能。【实现提示】在本例中,首先输入参赛选手的人数(范围为1-9个),然后根据人数通过malloc函数来开辟存放选手信息的顺序表。将选手的编号和姓名依此存入顺序表单元中,观众通过按键进行投票,按1为1号选手投票,按2为2号选手投票,以此类推,以按0作为投票结束标志。投票结束后进行排序,在此采用希尔排序,然后为每个选手计算名次,得票相同的名次也相同, (1)存储类型的定义 参赛选手信息存储类型的定义: typedef struct node char name8; /*选手姓名*/ int num; /*选手

15、编号*/ int score; /*选手得分*/ int tax; /*选手名次*/Node;题目十: 文章编辑系统(字符串)【问题描述】实现一个文章编辑系统,可以统计一页文字中文字、数字及空格的个数,存储一页文章保存在文件中,每行最多不超过80个字符,共N行,分别统计出其中英文字母数和空格数及整篇文章总字数;统计某一字符串在文章中出现的次数,并输出该次数;当删除某一子串时,后面的字符随之前移;用指定的字符串替换某一子串【实现提示】1.存储结构使用线性表,分别用几个子函数实现相应的功能2.输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号3.输出形式:分行输出用户输入的各行

16、字符;分4行输出全部字母数、数字个数、空格个数、文章总字数;输出删除某一字符串后的文章;输出替换某一字符串后的文章4.界面要友好,输入有提示,尽量展示人性化5.源程序代码清晰、有层次6.用户输入非法数据时,系统要及时给出警告信息题目十一: 航班信息的查询与检索【问题描述】 设计民航售票处的计算机系统可以为客户提供下列各项服务:1.查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行、最近一天航班的日期和余票额;2.承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况。【实现提示】1.对飞机航班信息进行排序和查找。可按航班的航班号、起点站、到达站、起飞时间以

17、及到达时间等信息进行查询。 2.采用基数排序法对一组具有结构特点的飞机航班号进行排序。 3.利用二分查找法对排好序的航班记录按航班号实现快速排序。 4.每个航班记录包括八项,分别为:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等。三、时间安排课程设计时间为三周,要求每人上机学时不低于28学时。四、设计工作要求1、课程设计完成基本的功能要求本次课程设计可以从以下的题目中任选其一,每个题目基本实现的要求是:(1)有菜单功能(2)有读写数据存盘功能(3)有数据图形显示或动画显示。2、课程设计完成成品要求(1)程序设计书(Word格式)l 包括程序设计目标l 问题描述l 需求分析l 概要设计l 详细设计l 源程序清单(要求格式整齐400行以上,要有注释说明)l 软件说明书(给出软件如何使用,使用时的注意事项)l 测试报告(每个函数的功能测试,输入条件,输出结果)l 课程设计总结。(2)可执行程序源代码(3)答辩时使用的ppt 3、上交要求(1)上交课程设计报告和相关光盘。(2)每小组写一份设计报告,以打印文稿的形式上交,排版一定要规范,否则成绩下降一档。(3)光盘内容包括程序源码、设计报告的电子文档和答辩ppt。整个班级的设计均刻在一张光盘上,可按姓名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论