数据结构课程设计大纲.docx

上传人:b****8 文档编号:11441866 上传时间:2023-03-01 格式:DOCX 页数:14 大小:23.43KB
下载 相关 举报
数据结构课程设计大纲.docx_第1页
第1页 / 共14页
数据结构课程设计大纲.docx_第2页
第2页 / 共14页
数据结构课程设计大纲.docx_第3页
第3页 / 共14页
数据结构课程设计大纲.docx_第4页
第4页 / 共14页
数据结构课程设计大纲.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

数据结构课程设计大纲.docx

《数据结构课程设计大纲.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计大纲.docx(14页珍藏版)》请在冰豆网上搜索。

数据结构课程设计大纲.docx

数据结构课程设计大纲

《数据结构》课程设计大纲

课程代码:

课程名称:

数据结构

适用专业:

计算机科学与技术

课程设计时间:

1周。

课程设计指导方式:

集体辅导与个别辅导相结合

一、课程设计教学目的及基本要求

数据结构课程设计是计算机科学与技术专业集中实践性环节之一,是学习完数据结构课程后进行的一次全面的综合练习。

其目的就是要达到理论与实际应用相结合,使学生能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养良好的程序设计技能。

二、课程设计内容及安排

1、进行需求分析

2、列出概要设计

3、给出详细设计

4、调试分析

5、编写用户使用说明

6、测试结果

三、设计题目

 1.运动会分数统计(限3人完成)

   任务:

参加运动会有n个学校,学校编号为1……n。

比赛分成m个男子项目,和w个女子项目。

项目编号为男子1……m,女子m+1……m+w。

不同的项目取前五名或前三名积分;取前五名的积分分别为:

7、5、3、2、1,前三名的积分分别为:

5、3、2;哪些取前五名或前三名由学生自己设定。

(m<=20,n<=20)

   功能要求:

1)可以输入各个项目的前三名或前五名的成绩;

2)能统计各学校总分;

3)可以按学校编号或名称、学校总分、男女团体总分排序输出;

4)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校;

5)数据存入文件并能随时查询;

6)规定:

输入数据形式和范围:

可以输入学校的名称,运动项目的名称。

输出形式:

有合理的提示,各学校分数为整形。

界面要求:

有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:

学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。

(数据文件的数据读写方法等相关内容在c语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:

要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明。

 2.飞机订票系统(限3人完成)

通过此系统可以实现如下功能:

录入:

可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);

   查询:

可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;

订票:

(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;

退票:

可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号;

修改航班信息:

当航班信息改变可以修改航班数据文件。

   要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。

 3.文章编辑(限3人完成)

功能:

输入一页文字,程序可以统计出文字、数字、空格的个数;静态存储一页文章,每行最多不超过80个字符,共N行。

要求:

(1)分别统计出其中英文字母数和空格数及整篇文章总字数;

(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。

存储结构使用线性表,分别用几个子函数实现相应的功能。

输入数据的形式和范围:

可以输入大写、小写的英文字母、任何数字及标点符号。

输出形式:

(1)分行输出用户输入的各行字符;

(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章。

 4.宿舍管理查询软件(限3人完成)

为宿舍管理人员编写一个宿舍管理查询软件,程序设计要求:

 A.采用交互工作方式;

 B.建立数据文件,数据文件按关键字(姓名、学号、房号)进行排序(冒泡、选择、插入排序等任选一种)。

查询菜单:

(用二分查找实现以下操作)

 A.按姓名查询;

 B.按学号查询;

 C.按房号查询。

 打印任一查询结果(可以连续操作)

 5.校园导航问题(限3人完成)

设计要求:

设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)。

 6.教学计划编制问题(限3人完成)

设计要求:

针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。

 7.散列法的实验研究(限3人完成)

散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突的方法也可以不同。

两者是影响查询算法性能的关键因素。

对于几种典型的散列函数构造方法,做实验观察,不同的解决冲突方法对查询性能的影响。

 8.图书借阅管理系统(限3人完成)

主要分为两大功能:

1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);

2)会员管理(增加会员、查询会员、删除会员、借书信息)。

 9.学生成绩管理(限3人完成)

实现功能:

输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出。

 10.二叉排序树的实现(限3人完成)

用顺序和二叉链表作存储结构  

1)以回车('\n')为输入结束标志,输入数列L,生成一棵二叉排 序树T;

2)对二叉排序树T作中序遍历,输出结果;

3)输入元素x,查找二叉排序树T,若存在含x的结点,则删除该结点,并作中序遍历(执行操作2);否则输出信息“无x”。

 11.最小生成树问题(限3人完成)

设计要求:

在n个城市之间建设网络,只需保证连通即可,求最经济的架设方法。

存储结构采用多种。

求解算法多种。

 12.通讯录的制作(限3人完成)

设计目的:

用〈〈数据结构〉〉中的双向链表作数据结构,结合C语言基本知识。

编写一个通讯录管理系统。

以把所学数据结构知识应用到实际软件开发中去。

设计内容:

本系统应完成一下几方面的功能:

1)输入信息——enter();

2)显示信息———display();

3)查找以姓名作为关键字———search();

4)删除信息———delete();

5)存盘———save();

6)装入———load()。

   设计要求:

1)每条信息至包含:

姓名(NAME)街道(STREET)城市(CITY)邮编(EIP)国家(STATE)几项;

2)作为一个完整的系统,应具有友好的界面和较强的容错能力;

3)上机能正常运行,并写出课程设计报告。

 13.哈夫曼编码/译码器(限3人完成)

  【问题描述】

设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。

  【基本要求】

1)将权值数据存放在数据文件(文件名为data.txt,位于执行程序的当前目录中);

2)分别采用动态和静态存储结构;

3)初始化:

键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;

4)编码:

利用建好的哈夫曼树生成哈夫曼编码;

5)输出编码;

6)设字符集及频度如下表:

字符空格ABCDEFGHIJKLM

频度1866413223210321154757153220

字符NOPQRSTUVWXYZ

频度5763151485180238181161

  【进一步完成内容】

1)译码功能;

2)显示哈夫曼树;

3)界面设计的优化。

 14.图书管理系统(限3人完成)

  【问题描述】设计一个计算机管理系统完成图书管理基本业务。

  【基本要求】

1)每种书的登记内容包括书号、书名、著作者、现存量和库存量;

2)对书号建立索引表(线性表)以提高查找效率;

3)系统主要功能如下:

        采编入库:

新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;

       借阅:

如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;

   归还:

注销对借阅者的登记,改变该书的现存量。

  【进一步完成内容】

1)系统功能的进一步完善;

2)索引表采用树表;

3)设计内容;

4)程序流程图;

5)源程序;

6)软件测试报告(包括所用到的数据及结果)。

 15.散列表的设计与实现(限3人完成)

  【问题描述】

设计散列表实现电话号码查找系统。

  【基本要求】

1)设每个记录有下列数据项:

电话号码、用户名、地址;

2)从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;

3)采用一定的方法解决冲突;

4)查找并显示给定电话号码的记录;

5)查找并显示给定用户名的记录。

  【进一步完成内容】

1)系统功能的完善;

2)设计不同的散列函数,比较冲突率;

3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。

 16.顺序结构、动态链表结构下的一元多项式的加法、减法、乘法的实现。

(限3人完成)

设有一元多项式Am(x)和Bn(x).

Am(x)=A0+A1x1+A2x2+A3x3+…+Amxm

Bn(x)=B0+B1x1+B2x2+B3x3+…+Bnxn

   请实现求M(x)=Am(x)+Bn(x)、M(x)=Am(x)-Bn(x)和M(x)=Am(x)×Bn(x)。

  要求:

1)首先判定多项式是否稀疏;

2)分别采用顺序和动态存储结构实现;

3)结果M(x)中无重复阶项和无零系数项;

4)要求输出结果的升幂和降幂两种排列情况。

 17.利用栈求表达式的值,可供小学生作业,并能给出分数。

(限3人完成)

要求:

建立试题库文件,随机产生n个题目;题目涉及加减乘除,带括弧的混合运算;随时可以退出;保留历史分数,能回顾历史,给出与历史分数比较后的评价。

 18.二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。

(限3人完成)

要求:

遍历的内容应是千姿百态的。

树与二叉树的转换的实现。

以及树的前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现,应包含建树的实现。

要求:

遍历的内容应是千姿百态的。

 19.学生搭配问题(限3人完成)

一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池的两边的椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴。

请设计一系统模拟动态地显示出上述过程,要求如下:

1)输出每曲配对情况;

2)计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞的情况.至少求出K的两个值;

3)尽量设计出多种算法及程序,可视情况适当加分。

    提示:

用队列来解决比较方便。

 20.猴子吃桃子问题(限3人完成)

有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。

用多种方法实现求出原来这群猴子共摘了多少个桃子。

   要求:

1)采用数组数据结构实现上述求解;

2)采用链数据结构实现上述求解;

3)采用递归实现上述求解。

 21.数制转换问题(限3人完成)

   任意给定一个M进制的数x,请实现如下要求

1)求出此数x的10进制值(用MD表示);

2)实现对x向任意的一个非M进制的数的转换;

3)至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决,其它方法解决)。

 22.排序综合(限3人完成)

 利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

   要求:

1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序),并把排序后的结果保存在不同的文件中;

2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法;

3)如果采用4种或4种以上的方法者,可适当加分。

 23.学生成绩管理系统(限3人完成)

  现有学生成绩信息文件1(1.txt),内容如下

  姓名学号语文数学英语

   张明明01677882

  李成友02789188

  张辉灿03688256

  王露04564577

  陈东明05673847

     ….......…

  学生成绩信息文件2(2.txt),内容如下:

   姓名学号语文数学英语

  陈果31576882

  李华明32889068

  张明东33484256

  李明国34504587

  陈道亮35475877

     ….......…

  试编写一管理系统,要求如下:

1)实现对两个文件数据进行合并,生成新文件3.txt;

2)抽取出三科成绩中有补考的学生并保存在一个新文件4.txt;

3)合并后的文件3.txt中的数据按总分降序排序(至少采用两种排序方法实现);

4)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现);

5)要求使用结构体,链或数组等实现上述要求;

6)采用多种方法且算法正确者,可适当加分。

 24.图的遍历的实现(限3人完成)

   要求:

1)先任意创建一个图;

2)图的DFS,BFS的递归和非递归算法的实现;

3)要求用有向图和无向图分别实现;

 4)要求用邻接矩阵、邻接表多种结构存储实现。

 25.线索二叉树的应用(限3人完成)

要求:

实现线索树建立、插入、删除、恢复线索的实现。

 26.稀疏矩阵应用(限3人完成)

   要求:

实现三元组,十字链表下的稀疏矩阵的加、转、乘的实现。

  

(1)稀疏矩阵的存储;

   

(2)稀疏矩阵加法;

  (3)矩阵乘法;

  (4)矩阵转置。

 27.树的应用(限3人完成)

   要求:

实现树与二叉树的转换的实现。

以及树的前序、后序的递归、非递归算法,层次序的非递归算法的实现,应包含建树的实现。

 28.任意长的整数加法(限3人完成)

  问题描述:

设计一个程序实现两个任意长的整数的求和运算。

  基本要求:

利用双向循环链表,设计一个实现任意长的整数进行加法运算的演示程序。

要求输入和输出每四位一组,组间用逗号隔开。

如:

1,0000,0000,0000,0000。

 29.二叉平衡排序树(限3人完成)

   问题描述:

从一棵空树开始创建,在创建过程中,保证树的有序性,同时还要针对树的平衡性做些调整。

最终要把创建好的二叉排序树转换为二叉平衡排序树。

  基本要求:

1.创建(插入、调整、改组)

2.输出

 30.串的查找和替换(限3人完成)

问题描述:

打开一篇英文文章,在该文章中找出所有给定的单词,然后对所有给定的单词替换为另外一个单词,再存盘。

 

 31.约瑟夫环(限3人完成)

问题描述:

编号为1,2…n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。

一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数,报到m时停止报数,报m的人出列,将他的密码作为新的m值,从他的顺时针方向上的下一个开始重新从1报数,如此下去,直至所有人全部出列为止,设计一个程序求出出列顺序。

  基本要求:

1)利用单循环链表作为存储结构模拟此过程;

2)键盘输入总人数、初始报数上限值m及各人密码;

3)按照出列顺序输出各人的编号。

 

 32.构造可以使n个城市连接的最小生成树(限3人完成)

   问题描述:

给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。

    基本要求:

1、城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。

要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价;

2、表示城市间距离网的邻接矩阵(要求至少6个城市,10条边);

3、最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。

 33.客户消费积分管理系统(限3人完成)

问题描述:

针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。

基本要求:

 采用一定的存储结构进行客户信息的存储;

 对客户的信息可以进行修改、删除、添加;

 能够根据消费情况进行客户积分的计算;

 根据积分情况实行不同程度的打折优惠。

34.产品进销存管理系统(限3人完成)

问题描述:

针对某一种行业的库房的产品进销存情况进行管理。

基本要求:

 采用一定的存储结构对库房的货品及其数量进行分类管理;

 可以进行产品类的添加、产品的添加、产品数量的添加;

 能够查询库房每种产品的总量、进货日期、销出数量、销售时间等。

35.特殊矩阵的压缩存储算法的实现(限3人完成)

问题描述:

对于特殊矩阵可以通过压缩存储减少存储空间。

基本要求:

  1.针对多种特殊矩阵进行压缩存储,并能显示压缩后的相关地址和值;

  2.输入在原来特殊矩阵中的地址,要求能从压缩后的矩阵中读出相应的值。

36.实时监控报警系统(限3人完成)

问题描述:

建立一个报警和出警管理的系统

基本要求:

 采用一定的存储结构存储报警信息,要求有内容、时间;

 有一次的出警就应该在待处理的信息中删除这条信息;

 记录出警信息;

 待处理信息过多时会发出警告。

四、课程设计考核方法、成绩评定和时间安排

考核方法:

课程设计结束时,要求学生提交的内容包括:

1、程序清单:

代码应具有详细注释,用来说明程序的功能、结构;

2、设计报告:

报告中应包含上机时遇到的问题及解决办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程序的输出结果及对结果的分析;实验的心得体会,以及其它信息;

3、提交时,须向指导教师说明:

程序的使用方法,调用方法、操作步骤等;要求输入信息的类型及格式;出错信息的含义及程序的适用范围等。

成绩评定:

课程设计成绩分两部分,设计报告占40%,测试运行结果占60%。

课程设计时间安排:

周一布置题目;周二至周五设计程序流程图、设计调试程序;周六验收,并进行成绩评定。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1