数据结构课程设计题目.docx
- 文档编号:28562546
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:22
- 大小:27.26KB
数据结构课程设计题目.docx
《数据结构课程设计题目.docx》由会员分享,可在线阅读,更多相关《数据结构课程设计题目.docx(22页珍藏版)》请在冰豆网上搜索。
数据结构课程设计题目
数据结构课程设计
一、考核方法和容
根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
评分标准:
优秀:
答辩所有问题都能答出+报告良好
或报告良好+实现“提高部分”的功能;
良好:
答辩所有问题都能答出+报告一般;
或报告一般+实现“提高部分”的功能;
中等:
答辩大部分问题能答出+报告良好;
及格:
答辩大部分问题能答出+报告一般;
以下四种,都不及格:
1)答辩几乎答不出问题;
2)报告几乎都是代码;
3)雷同部分达到60%;
4)课设报告与数据结构和c/c++关联不大。
课设报告的装订顺序如下:
任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?
数据元素包含哪些属性?
需要哪些函数?
为什么要这样设计?
最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?
数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献;
课设报告打印要求:
B5纸打印,报告总页数控制在10—15页,报告中不能全是代码,报告中代码总量控制在3页。
版式:
无页眉,有页码,页码居中
字号:
小四,单倍行距
字体:
宋体+TimesnewRomar
截图:
截图要配图的编号和图的题目,如:
“图1Insert函数流程图”
二、课程设计的题目
1.长整数的加法运算
2.通讯录管理系统的设计与实现——顺序表
3.广义表的应用
4.学生成绩管理系统的设计与实现
5.家谱管理系统的设计与实现
6.集合的并、交和差运算的程序
7.运动会分数统计
8.一元多项式计算器
9.文章编辑
10.哈夫曼树及其编码
11.校园导游咨询
12.通讯录管理系统的设计与实现——单链表
13.地图着色问题
14.部排序算法比较
15.火车售票系统
16.图书管理系统
客户消费积分管理系统17.
18.产品进销存管理系统
19.迷宫求解
20.通讯录管理系统的设计与实现——哈希表---线性探测再散列
21.语言中平衡符号的问题
22.算术表达式求解
23.数制转换问题
24.九宫格问题
25.停车场管理
26.关键路径问题
27.通讯录管理系统的设计与实现——哈希表——链地址法
28.歌星大奖赛
29.病人就医管理
30.简单目录管理系统的设计与实现
31.最短旅程的求解
32.通讯录管理系统的设计与实现——哈希表——二次探测再散列
33.宿舍管理查询软件
34.表达式求值,并能给出分数,可供小学生作业练习的小程序
35.服装销售系统
36.机房机位预约模拟系统
37.歌曲信息管理系统
38.学生点名系统
39.猜数游戏
三、数据结构课程设计的具体容(想要优,必须实现“提高部分”的功能,其他,不用完成“提高部分”)
要求:
全部采用数据结构课程中的容实现,采用C或C++实现,逻辑结构只能选线性结构、树型结构、图型结构、集合结构中的一种,不能用数据库。
长整数的加法运算1.基本要求:
设计一个实现任意长的整数进行加法、减法运算的演示程序。
⑴利用链表实现长整数的存储,每个结点含一个整型变量。
提醒:
任何整型变量int的围是-(2^15-1)~(2^15-1)。
⑵输入和输出形式按照中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。
如:
-2345,6789,3211;
⑶演示程序以用户和计算机的对话方式执行,可进行多次运算。
提高部分:
增加利用顺序表存储结构来实现长整数的加、减和输出功能。
2.通讯录管理系统的设计与实现——顺序表
基本要求:
利用顺序表完成通讯录的一般性管理工作。
其中,每条记录至少包括姓名、手机号、QQ、电子、地址等信息。
功能主要包括:
(1)添加信息:
可新增人员信息;
(2)显示信息:
可以按照手机号或联系人的姓名拼音排序显示;
(3)查找:
用名字和手机号分别作为查找的依据,进行查找;
(4)编辑信息:
修改完善人员信息;
(5)删除信息:
删除人员信息;
(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
利用外部.txt文件同步存储通讯录信息。
3.广义表的应用
基本要求:
要现的广义表的建立、查找、输出、取表头和取表尾以及求深度等。
演示程序以用户和计算机的对话方式执行,并可进行多次交互。
用一个主控菜单程序控制,共分为6个子功能。
(1)建立广义表
(2)输出广义表(3)结点的查找(4)求广义表表头(5)求广义表表尾(6)求广义表的深度。
(7)求广义表的长度。
文件输入数据信息建立广义表。
.txt利用外部提高部分:
4.学生成绩管理系统的设计与实现
基本要求:
能够实现对学生成绩的常用管理功能。
⑴采用一定的存储结构对学生成绩进行管理;
⑵可以进行成绩的录入、查询、修改、删除等操作;
⑶可以查询某门课程的平均分,学生的排名,不同分数段的学生人数及学生信息等;
⑷可以查询某学生的各课程分数,总分及学生的班级排名等;
⑸可以按学号排序输出全部学生的成绩信息、总分及班级排名等。
⑹演示程序以用户和计算机的对话方式进行。
提高部分:
利用外部.txt文件同步存储学生成绩信息。
5.家谱管理系统的设计与实现
基本要求:
设计并实现一个简单的家谱管理系统。
(1)建立家族关系树,并能存储到外部文件中。
(2)实现家族成员的添加、删除功能。
(3)可以查询家族成员的双亲、祖先、兄弟、孩子和后代等信息。
(4)按某种顺序输出家谱信息(树的遍历操作)、以树型结构输出家谱资料等功能。
(5)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
通过读取外部.txt文件,建立家族关系树,添加和删除后的结果同步到外部文件。
6.集合的并、交和差运算的程序
基本要求:
编制一个能演示执行集合的并、交和差运算的程序。
(1)集合的元素限定为大小写字母符[′a′….′z′′A′….′Z′],集合的大小n<53。
(2)集合输入的形式为一个以回车符为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤去非法字符和重复字符。
(3)输出的运算结果字符串中将不含重复字符或非法字符。
(4)演示程序以用户和计算机的对话方式执行,可多次进行运算。
提高部分:
采用顺表和链式两种存储结构实现。
7.运动会分数统计
基本要求:
参加运动会的n个学校编号为1~n。
比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。
由于各项目参加人数差别较大,有些项目取前五名,积分分别为11,7,4,2,1;有些项目只取前三名,积分分别为5,3,2。
哪些项目取前五名或前三名在输入比赛结果时自己设定。
写一个统计程序产生各种成绩单和得分报表。
(1)各项目结束时,输入项目编号、所有运动员的姓名、学校名称和比赛名次(成绩),并对前三名或前五名的运动员所在团体和学校,记录比赛积分;
(2)产生每个学校的成绩单,容包括该学校所取得的每项成绩的项目号、运动员姓名、名次(成绩),并统计学校总分;
(3)实现按学校编号查询学校的比赛情况,查询结果包含参加各项目的项目编号、运动员姓名、取得的名次、比赛的积分、学校总分、团体总分等;
(4)实现按项目编号查询取得前三或前五名的学校的名称;
(5)演示程序以用户和计算机的对话方式执行,可多次操作。
提高部分:
实现按学校编号排序输出(至少包括学校排名,学校编号,学校名称,学校总分);按男团总分排序输出(至少包括男团排名,学校名称,男团总分);按女团总分排序输出(至少包括女团排名,学校名称,女团总分);
8.一元多项式计算器
基本要求:
设有一元多项式A(x)和B(x).
nm123mA(x)=A+Ax+Ax+Ax+…+Axm2m031123nB(x)=B+Bx+Bx+Bx+…+Bxn01n32试求M(x)=A(x)+B(x)、M(x)=A(x)-B(x)和M(x)=A(x)×B(x)。
nmnmmn⑴首先判定多项式是否稀疏;
中无重复阶项和无零系数项;M(x)⑵要求结果
⑶要求输出结果的升幂和降幂两种排列情况。
⑷演示程序以用户和计算机的对话方式执行,可进行多次运算。
提高部分:
采用顺表和链式两种存储结构实现。
9.文章编辑
基本要求:
输入一页文字,可以统计出文字、数字、空格的个数。
(1)利用外部.txt文件存储一页文章,每行最多不超过80个字符,共N行。
(2)分别统计出其中英文字母和空格数及整篇文章总字数。
(3)统计某一字符串在文章中出现的次数,并输出该次数。
(4)删除某一子串,并将后面的字符前移,对文章的修改,同步到.txt文件中。
提高部分:
采用顺表和链式两种存储结构实现。
10.哈夫曼树及其编码
基本要求:
设计一个利用哈夫曼算法的编码系统。
⑴初始化:
利用外部.txt文件输入字符集大小n、n个字符和n个权值,建立哈夫曼树;
⑵编码:
利用建好的哈夫曼树生成哈夫曼编码;
⑶输出哈夫曼树及哈夫曼编码;
⑷演示程序以用户和计算机的对话方式执行,重复地显示并处理以上三个项目,直到选择退出为止。
假设字符集及频度如下表:
字符空格ABCDEFGHIJKLM
频度1976413223210321154757512032
字符NOPQRSTUVWXYZ
频度5763115481680238181511
提高部分:
输出树形的哈夫曼树。
//////进行编码和译码11.校园导游咨询基本要求:
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
⑴设计华东交通大学南区的校园平面图(无向图),所含景点不少于10个。
以图中顶点表示校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
⑵为来访客人提供图中任意景点相关描述信息的查询。
⑶为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的最短路径。
提高部分:
查询任意两个景点之间的所有路径。
12.通讯录管理系统的设计与实现——单链表
基本要求:
利用单链表完成通讯录的一般性管理工作。
其中,每条记录至少包括姓名、手机号、QQ、电子、地址等信息。
功能主要包括:
(1)添加信息:
可新增人员信息;
(2)显示信息:
可以按照手机号或联系人的姓名拼音排序显示;
(3)查找:
用名字和手机号分别作为查找的依据,进行查找;
(4)编辑信息:
修改完善人员信息;
(5)删除信息:
删除人员信息;
(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
利用外部.txt文件同步存储通讯录信息。
13.地图着色问题
基本要求:
设计地图着色软件,对地图中11个地级市进行着色,要求相邻地级市所使用的颜色不同,并保证使用的颜色最少。
⑴地图采用图型数据结构,每个地级市为一个节点,边表示对应的两个地级市相邻。
⑵设计着色算法,保证邻接点不是同一种颜色。
⑶输出着色结果。
⑷演示程序以用户和计算机的对话方式进行。
提高部分:
利用外部.txt文件输入地图数据,并把着色结果追加到.txt文件。
14.部排序算法比较
基本要求:
试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。
起泡排序、希尔排序、可采用的方法有插入排序、(提示,⑴至少采用三种方法实现对同一组数据的排序
快速排序、选择排序、堆排序、归并排序)。
⑵待排序表的表长不小于100,其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)。
⑶最后对结果作出简单分析,包括对各组数据得出结果波动大小的解释。
⑷演示程序以用户和计算机的对话方式进行。
提高部分:
利用外部.txt文件存储各次排序的数据、排序的结果、结果的简单分析。
15.火车售票系统
基本要求:
通过此系统可以实现售票、退票、车票剩余情况查询等功能。
每车票包含车次、车厢、座位信息。
⑴在售票、退票、查询剩余票等环节中,都必须显示出车票的信息,即车次、车厢、座位情况。
⑵为简单起见,在此假设所有出售的车票均为同一车次的车票。
同一车次,有多个车厢,每个车厢有多个座位。
⑶购票时,可以显示余票信息,并可以选择买哪票。
⑷退票时,必须是车站售出的车票才能退,否则视为无效票,不能退票,而且退票可以再次销售。
⑸演示程序以用户和计算机的对话方式进行。
提高部分:
利用外部.txt文件同步存储车票的余票和已售票信息。
16.图书管理系统
基本要求:
设计一个计算机管理系统完成图书管理基本业务。
⑴每种书的登记容包括书号、书名、著作者、现存量、库存量和借阅信息;
⑵对书号建立索引顺序表以提高查找效率;
⑶系统主要功能如下:
①采编入库:
新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;
②借阅:
如果一种书的现存量大于0,则借出一本,登记借阅者的书证号和归还期限,改变现存量;
③归还:
注销对借阅者的登记,改变该书的现存量。
⑷演示程序以用户和计算机的对话方式进行。
提高部分:
利用外部.txt文件同步存储图书信息。
17.客户消费积分管理系统
基本要求:
针对客户的消费情况,进行客户管理,根据客户的消费积分对客户实行不同程度的打折优惠。
⑴采用一定的存储结构进行客户信息的存储;
⑵对客户的信息可以进行修改、删除、添加;
⑶能够根据消费情况进行客户积分的累加;
⑷根据积分情况,对客户实行不同程度的打折优惠;
⑸演示程序以用户和计算机的对话方式进行。
提高部分:
利用外部.txt文件同步存储客户和积分信息。
18.产品进销存管理系统
基本要求:
针对某一种行业的库房产品进行进销存情况的管理。
⑴采用一定的存储结构对库房的货品及其数量进行分类管理;
⑵可以实现进库房时,产品类的添加、产品的添加、产品数量的添加;
⑶能够查询库房每种产品的总量、进货日期、销出数量、销售时间等;
⑷可以实现产品出库房时,产品数量修改以及达到临界值提醒的功能;
⑸演示程序以用户和计算机的对话方式进行。
提高部分:
利用外部.txt文件同步存储库房产品的详细信息。
19.迷宫求解
基本要求:
以一个m*n的长方阵表示迷宫,设置两个门,一个入口,另一个是出口。
设计一个程序,对任意随机生成的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
⑴首先实现一个栈类型,然后编写一个求解迷宫的非递归程序。
⑵求得的通路以三元组(i,j,d)的形式输出,其中(i,j)指示迷宫中的一个坐标,d表示走到下一坐标的方向。
⑶输出迷宫图,以#号表示障碍物,‘'空格表示非障碍物,*表示通路。
提高部分:
同时实现递归和非递归两种求解算法。
20.通讯录管理系统的设计与实现——哈希表---线性探测再散列
、QQ利用哈希表完成通讯录的一般性管理工作。
其中,每条记录至少包括姓名、手机号、基本要求:
电子、地址等信息。
分别以和用户名为关键字建立不同的哈希表。
功能主要包括:
(1)添加信息:
可新增人员信息;
(2)显示信息:
按照哈希表的存储位置信息排序显示;
(3)查找:
用名字和手机号分别作为查找的依据,进行查找;
(4)编辑信息:
修改完善人员信息;
(5)删除信息:
删除人员信息;
(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
利用外部.txt文件同步存储通讯录信息。
21.语言中平衡符号的问题
基本要求:
设C语言程序代码中包含如下符号/**/,(),[],{},编写程序检测一段C代码中上述符号是否正确,并指出错在哪里。
提高部分:
建立外部文件存储需要检测的c代码。
22.算术表达式求解
基本要求:
给定一个算术表达式,通过程序求出最后的结果。
(1)从键盘输入要求解的算术表达式;
(2)采用栈结构进行算术表达式的求解过程;
(3)能够判断算术表达式正确与否;对于错误表达式给出提示;对于正确的表达式给出最后的结果,并可以显示运算的整个过程。
(4)演示程序以用户和计算机的对话方式进行。
提高部分:
建立外部.txt文件存储全部运算过程。
23.数制转换问题
基本要求:
任意给定一个M进制的数x,实现如下要求:
(1)求出此数x的10进制值;
(2)实现对X向任意的一个非M进制数的转换;
(3)至少用两种或两种以上的方法实现上述要求(用栈解决,用数组解决,其它方法解决);
(4)提供交互界面,以便人机交互。
提高部分:
必须实现进制M大于16的情况。
24.九宫格问题
基本要求:
在一个3×3的九宫格中有1—8这8个数字,混乱排序,一个空格随机地摆放在一个格子里,九宫格布局随机生成。
现要求将该九宫格调整为正常按逆序的格式。
调整的规则是:
每次只能将与空格(上、下或左、右)相邻的一个数字平移到空格中。
编程实现这一问题的求解,并输出求解过程。
提高部分:
利用外部.txt文件同步记录九宫格的初始布局及求解过程。
25.停车场管理
基本要求:
设停车场只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。
汽车在停车场按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端);若车场已停满n辆汽车,则后来的汽车只能在门外的便道上依次等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。
(1)为停车场编制按上述要求进行管理的模拟程序。
(2)可随时查询停车场及便道的停车情况。
(3)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
利用外部.txt文件同步记录所有数据。
26.关键路径问题
基本要求:
设计一个程序,求出完成整项工程至少需要多少时间,以及整项工程中的关键活动。
(1)从键盘输入一个描述工程的AOE网,并判断其是否能够顺利进行。
(2)若该工程能顺利进行,输出完成整项工程至少需要多少时间,以及每一个关键活动所依附的两个顶点、最早发生时间、最迟发生时间。
(3)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
文件同步记录所有数据。
.txt利用外部提高部分:
27.通讯录管理系统的设计与实现——哈希表——链地址法
基本要求:
利用哈希表完成通讯录的一般性管理工作。
其中,每条记录至少包括姓名、手机号、QQ、电子、地址等信息。
分别以和用户名为关键字建立不同的哈希表。
功能主要包括:
(1)添加信息:
可新增人员信息;
(2)显示信息:
按照哈希表的存储位置信息排序显示;
(3)查找:
用名字和手机号分别作为查找的依据,进行查找;
(4)编辑信息:
修改完善人员信息;
(5)删除信息:
删除人员信息;
(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
利用外部.txt文件同步存储通讯录信息。
28.歌星大奖赛
基本要求:
(1)在歌星大奖赛中,每位歌手演唱完,有10个评委为参赛的选手打分,分数为1~100分。
选手最后得分为:
去掉一个最高分和一个最低分后其余8个分数的平均值。
歌手的人数在大奖赛开始时键盘输入。
(2)同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近平均分)和最不公平(即与平均分的差距最大)的评委。
(3)保存每位歌星比赛时的所有评委分数,包括最高分,最低分和最后得分,并在比赛过程的任意时刻,都可对当前比赛结果排序输出;
(4)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
利用外部.txt文件同步记录所有数据。
29.病人就医管理
基本要求:
编写一个程序实现就医管理。
在病人就医过程中,主要发生三件事:
⑴预检,分科室,挂号。
不同科室都是从1号开始挂号。
如,科1号,外科1号,眼科1号等;
⑵病人到达诊室,将病历本交给护士,排到等待队列中候诊,不同科室,不同队列。
⑶护士从等待队列中取出一位病人的病历,该病人进入诊室就诊。
程序采用菜单方式,其选项及功能说明如下:
⑴挂号------预检,分科室,生成就诊号。
⑵排队------输入病人的就诊号,加入到不同科室的病人排队队列中。
⑶就诊-------病人排队队列中最前面的病人就诊,并将其从队列中删除。
⑷查看排队------从队首到队尾列出所有的排队病人的病历号。
⑸下班---------退出运行。
提高部分:
利用外部.txt文件同步记录所有就诊数据。
30.简单目录管理系统的设计与实现
基本要求:
利用树型结构设计并实现一个简单的目录管理系统。
功能主要包括:
(1)系统可以对所有目录进行管理,类似C盘、D盘、E盘;
(2)实现子目录和文件的新建、删除、查询、子目录和文件名称修改等功能;
(3)按某种顺序输出所有子目录及文件信息(树的遍历操作);
提高部分:
以树型结构输出所有子目录和文件的信息。
31.最短旅程的求解
基本要求:
有n个城市(编号从1到n),它们之间通过双向的道路相连。
那里只有n-1条道路,但是,它们的连接方式使得从任意城市都可以走到其他的任何城市。
一天,某个游客到了编号为k的城市。
他计划从城市k开始,游遍所有的城市m1,m2,m3……,mi,…(不一定要按这个顺序旅游)。
每个城市mi都是不同的,并且,也与k不同。
他想要以最短的路程旅行完所有的城市(从城市k开始)。
求旅游完上述的城市最短需要多少路程。
提高部分:
输出最短旅程的详细旅游路线。
32.通讯录管理系统的设计与实现——哈希表——二次探测再散列
基本要求:
利用哈希表完成通讯录的一般性管理工作。
其中,每条记录至少包括姓名、手机号、QQ、电子、地址等信息。
分别以和用户名为关键字建立不同的哈希表。
功能主要包括:
(1)添加信息:
可新增人员信息;
显示信息:
按照哈希表的存储位置信息排序显示;
(2).
(3)查找:
用名字和手机号分别作为查找的依据,进行查找;
(4)编辑信息:
修改完善人员信息;
(5)删除信息:
删除人员信息;
(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。
提高部分:
利用外部.txt文件同步存储通讯录信息。
33.宿舍
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 课程设计 题目