文档视界 最新最全的文档下载
当前位置:文档视界 › 数据结构课程设计题目

数据结构课程设计题目

数据结构课程设计题目
数据结构课程设计题目

数据结构课程设计

一、考核方法和容

根据课程设计过程中学生的学生态度、题目完成情况、课程设计报告书的质量和回答问题的情况等按照10%、40%、30%、20%加权综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。

评分标准:

优秀:答辩所有问题都能答出+报告良好

或报告良好+实现“提高部分”的功能;

良好:答辩所有问题都能答出+报告一般;

或报告一般+实现“提高部分”的功能;

中等:答辩大部分问题能答出+报告良好;

及格:答辩大部分问题能答出+报告一般;

以下四种,都不及格:

1)答辩几乎答不出问题;

2)报告几乎都是代码;

3)雷同部分达到60%;

4)课设报告与数据结构和c/c++关联不大。

课设报告的装订顺序如下:

任务书(签名,把题目要求贴在相应位置,注意下划线)-----目录(注意目录的格式,页码)-----1、设计任务(题目要求)-----2、需求分析(准备选用什么数据逻辑结构?数据元素包含哪些属性?需要哪些函数?为什么要这样设计?最后列出抽象数据类型定义)-----3、系统设计(设计实现抽象数据类型,包含选择什么物理存储方式?数据元素的结构体或类定义,以及各函数的设计思路,算法,程序流程图等)----4、编码实现(重要函数的实现代码)-----5、调试分析(选择多组测试数据、运行截图、结果分析)-----6、课设总结(心得体会)-----7、谢辞-----8、参考文献;

课设报告打印要求:

B5纸打印,报告总页数控制在10—15页,报告中不能全是代码,报告中代码总量控制在3页。版式:无页眉,有页码,页码居中

字号:小四,单倍行距

字体:宋体+Times new Romar

截图:截图要配图的编号和图的题目,如:“图1 Insert函数流程图”

二、课程设计的题目

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).

nm123m A(x) = A+Ax+Ax+Ax+…+Ax m2m031123n B(x) = B+Bx+Bx+Bx+…+Bx n01n32试求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个权值,建立哈夫曼树;

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

⑶输出哈夫曼树及哈夫曼编码;

⑷演示程序以用户和计算机的对话方式执行,重复地显示并处理以上三个项目,直到选择退出为

止。

假设字符集及频度如下表:

字符空格 A B C D E F G H I J K L M

频度197 64 13 22 32 103 21 15 47 57 5 1 20 32

字符N O P Q R S T U V W X Y Z

频度57 63 1 15 48 16 80 23 8 18 1 51 1

提高部分:输出树形的哈夫曼树。//////进行编码和译码11.校园导游咨询基本要求:设计一个校园导游程序,为来访的客人提供各种信息查询服务。

⑴设计华东交通大学南区的校园平面图(无向图),所含景点不少于10个。以图中顶点表示校各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

⑵为来访客人提供图中任意景点相关描述信息的查询。

⑶为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的最短路径。

提高部分:查询任意两个景点之间的所有路径。

12.通讯录管理系统的设计与实现——单链表

基本要求:利用单链表完成通讯录的一般性管理工作。其中,每条记录至少包括姓名、手机号、QQ、电子、地址等信息。功能主要包括:

(1)添加信息:可新增人员信息;

(2)显示信息:可以按照手机号或联系人的姓名拼音排序显示;

(3)查找:用名字和手机号分别作为查找的依据,进行查找;

(4)编辑信息:修改完善人员信息;

(5)删除信息:删除人员信息;

(6)界面友好,演示程序以用户和计算机的对话方式进行,可反复操作。

提高部分:利用外部.txt文件同步存储通讯录信息。

13.地图着色问题

基本要求:

设计地图着色软件,对地图中11个地级市进行着色,要求相邻地级市所使用的颜色不同,并保证使用的颜色最少。

⑴地图采用图型数据结构,每个地级市为一个节点,边表示对应的两个地级市相邻。

⑵设计着色算法,保证邻接点不是同一种颜色。

⑶输出着色结果。

⑷演示程序以用户和计算机的对话方式进行。

提高部分:利用外部.txt文件输入地图数据,并把着色结果追加到.txt文件。

14.部排序算法比较

基本要求:试通过随机数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。起泡排序、希尔排序、可采用的方法有插入排序、(提示,⑴至少采用三种方法实现对同一组数据的排序

快速排序、选择排序、堆排序、归并排序)。

⑵待排序表的表长不小于100,其中的数据要用伪随机数产生程序产生;至少要用5组不同的输入数据作比较;比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换计为3次移动)。

⑶最后对结果作出简单分析,包括对各组数据得出结果波动大小的解释。

⑷演示程序以用户和计算机的对话方式进行。

提高部分:利用外部.txt文件存储各次排序的数据、排序的结果、结果的简单分析。

15.火车售票系统

相关文档