数据结构课程设计题目汇总(2015级)
数据结构课程设计可选题目

数据结构课程设计可选题目一、课程设计的目的学习数据结构与算法的最终目的是解决实际的应用问题,特别是非数值计算类型的应用问题。
课程设计要求同学独立完成一个较为完整的应用需求分析,在完成设计和编程大型作业的过程中,深化对数据结构与算法课程中基本概念、理论和方法的理解;训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念;使同学的程序设计与调试水平有一个明显的提高。
二、数据结构课程设计可选题目1. 运动会分数统计(限1 人完成)任务:参加运动会有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语言程序设计的书上)请在最后的上交资料中指明你用到的存储结构;⑤测试数据:要求使用a.全部合法数据;b.整体非法数据;c.局部非法数据进行程序测试,以保证程序的稳定。
测试数据及测试结果请在上交的资料中写明。
2. 飞机订票系统任务:通过此系统可以实现如下功能:⑴录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)⑵查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);⑶可以输入起飞抵达城市,查询飞机航班情况;⑷订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;⑸退票:可退票,退票后修改相关数据文件;⑹客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
数据结构课程设计参考题目

1. 运动会分数统计【问题描述】参加运动会的n个学校编号为1~n。
比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。
由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。
写一个统计程序产生各种成绩单和得分报表。
【基本要求】可以输入各个项目的前三名或前五名的成绩;能统计各学校总分,可以按学校编号或名称、学校总分、男女团体总分排序输出;可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
数据存入文件并能随时查询规定:输入数据形式和范围:可以输入学校的名称,运动项目的名称输出形式:有中文提示,各学校分数为整型。
界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
存储结构:学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
测试数据:【测试数据】要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。
进行程序测试,以保证程序的稳定。
例如,对于n=4,m=3,w =2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。
【实现提示】可以假设n≤20,m≤30,w≤20,姓名长度不超过20 个字符。
每个项目结束时,将其 编号、类型符(区分取前五名还是前三名) 输入,并按名次顺序输入运动员姓名、校名(和成 绩)。
2. 马踏棋盘【问题描述】设计一个国际象棋的马踏遍棋盘的演示程序。
【基本要求】将马随机放在国际象棋的8×8棋盘Board[8][8]的某个方格中,马按走棋规则进行移动。
要求每个方格只进入一次,走遍棋盘上全部64个方格。
编制非递归程序,求出马的行走路线,并按求出的行走路线,将数字1,2,…,64依次填入一个8×8的方阵,输出之。
3. 迷宫问题【问题描述】迷宫求解是实验心理学中的一个经典问题,心理学家把一只老鼠从一个无顶盖的大盒子的入口处赶进迷宫,迷宫中设置很多隔壁,对前进方向形成了多处障碍,心理学家在迷宫的唯一出口处放置了一块奶酪,吸引老鼠在迷宫中寻找通路以到达出口。
数据结构课程设计题目

数据结构课程设计大纲学院:计算机科学与技术学院专业:计算机应用、信息应用时间:19、20周学分:2一、课程设计的目的和任务1、提高对数据逻辑结构的特点以及存储表示方式的认识,培养在具体应用中选择合适的数据结构和存储结构的能力;2、熟悉软件开发的基本过程,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等阶段的基本任务和技能方法;3、培养学生的算法设计和算法分析能力,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法、作风和相互合作的精神。
二、课程设计的主要内容与要求1.课程设计选题(每人一个题目,共计14题)[1] 文章编辑功能:输入一页文字,程序可以统计出文字、数字、空格的个数。
静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章;[2]、迷宫问题1)问题描述迷宫求解是实验心理学中的一个经典问题,心理学家把一只老鼠从一个无顶盖的大盒子的入口处赶进迷宫,迷宫中设置很多隔壁,对前进方向形成了多处障碍,心理学家在迷宫的唯一出口处放置了一块奶酪,吸引老鼠在迷宫中寻找通路以到达出口。
例如,图2所示为一个迷宫示意图,其中双边矩形表示迷宫,1代表有障碍,0代表无障碍。
2) 基本要求入口(1, 1)出口(6, 8)图1 迷宫示意图,其中1代表有障碍,0代表无障碍前进的方向有八个,分别是上、下、左、右、左上、左下、右上、右下(1) 设计数据结构存储迷宫;(2) 设计存储结构保存从入口到出口的通路;(3) 设计算法完成迷宫问题的求解;(4) 分析算法的时间复杂度。
数据结构课程设计题目36

1、运动会分数统计问题描述:参加运动会的n个学校编号为1~n。
比赛分成m个男子项目和w个女子项目,项目编号分别为1~m和m+1~m+w。
由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。
哪些项目取前五名或前三名由学生自己设定。
写一个统计程序产生各种成绩单和得分报表。
基本要求:(1)各项目结束时,输入前三名或前五名的项目编号、运动员姓名、校名和名次(成绩);(2)产生各学校的成绩单,内容包括每个学校所取得的每项成绩的项目号、名次(成绩)、姓名和得分,并统计各学校总分;(3)可以按学校编号、男女团体总分排序输出;(4)可以按学校编号查询学校某个项目的情况;(5)可以按项目编号查询取得前三或前五名的学校。
2、集合的并、交和差运算的程序问题描述:编制一个能演示执行集合的并、交和差运算的程序。
基本要求:⑵集合的元素限定为小写字母符[′a′….′z ′],集合的大小n<27。
⑵集合输入的形式为一个以"回车符"为结束标志的字符串,串中字符顺序不限,且允许出现重复字符或非法字符,程序应能自动滤去。
⑶输出的运算结果字符串中将不含重复字符或非法字符。
⑷演示程序以用户和计算机的对话方式执行。
3、长整数的加法运算问题描述:设计一个实现任意长的整数进行加法、减法运算的演示程序。
基本要求:1利用链表实现长整数的存储,每个结点含一个整型变量。
2任何整型变量的范围是-(2^15-1)~(2^15-1)。
3输入和输出形式按照中国对于长整数的表示习惯,每四位一组,组间用逗号隔开。
如:-2345,6789, 3211;4、一元多项式计算器问题描述:设有一元多项式A m(x) 和B n(x).A m(x) = A0+A1x1+A2x2+A3x3+… +A m x mB n(x) = B0+B1x1+B2x2+B3x3+… +B n x n试求M(x)= A m(x)+B n(x)、M(x)= A m(x)-B n(x)和M(x)= A m(x)×Bn(x)。
数据结构课程设计题目

1. 一元稀疏多项式计算器【问题描述】设计一个一元稀疏多项式简单计算器。
【基本要求】一元稀疏多项式简单计算器的基本功能是:(1) 输入并建立多项式;(2) 输出多项式,输出形式为整数序列:n,c l,e l,c2,e2,…,c n,e n,其中n是多项式的项数,c i和e i,分别是第i 项的系数和指数,序列按指数降序排列;(3) 多项式a和b相加,建立多项式a +b;(4) 多项式a和b相减,建立多项式a -b。
【测试数据】(1)(2x+5x8-3.1x11) + (7-5x8+11x9)=(-3.lx11+11x9+2x+7)(2)(6x-3-x+4.4x2-1.2x9) -(-6x-3+5.4x2-x2+7.8x15)=(-7.8x15-1.2x9+12x-3-x)(3)(1 +x + x2+x3+x4+x5)+(-x3-x4)=(1+x+x2+x5)(4)(x+x3)+(-x-x3)=0(5)(x+x100)+(x100 +x200)=(x+2x100+x200)(6)(x+x2+x3)+0=x+x2+x3(7) 互换上述测试数据中的前后两个多项式【实现提示】用带表头结点的单链表存储多项式。
2. 银行业务模拟【问题描述】客户业务分为两种。
第一种是申请从银行得到一笔资金,即取款或借款。
第二种是向银行投入一笔资金,即存款或还款。
银行有两个服务窗口,相应地有两个队列。
客户到达银行后先排第一个队。
处理每个客户业务时,如果属于第一种,且申请额超出银行现存资金总额而得不到满足,则立刻排入第二个队等候,直至满足时才离开银行;否则业务处理完后立刻离开银行。
每接待完一个第二种业务的客户,则顺序检查和处理(如果可能)第二个队列中的客户,对能满足的申请者予以满足,不能满足者重新排到第二个队列的队尾。
注意,在此检查过程中,一旦银行资金总额少于或等于刚才第一个队列中最后一个客户(第二种业务)被接待之前的数额,或者本次已将第二个队列检查或处理了一遍,就停止检查(因为此时已不可能还有能满足者)转而继续接待第一个队列的客户。
数据结构课程设计题目

数据结构课程设计题目数据结构课程设计题目要求:(1)每人选择一题,选好后把选题名单交给学习委员统一上交给老师(2)要求上交源程序和课程设计报告,均为电子版,保存在自己名字的文件夹中(3)上交前,程序调试运行成功才算完成。
(4)最后完成时间2010年1月25日,先做完的可以先交。
(5)课程设计报告参考范例题目:1、课本46页,2-202、课本46页,2-243、课本47页,2-254、课本84页,3-185、课本85页,3-236、课本110页,4-167、课本110页,4-178、课本111页,4-199、课本111页,4-2010、课本126页,5-1911、课本126页,5-2012、课本148页,6-1313、课本148页,6-1614、课本251页,9-2015、课本278页,10-3116、课本310页,11-2717、课本311页,11-2918、课本311页,11-3019、课本311页,11-3120、文章编辑静态存储一页文章,每行最多不超过80个字符,共N行;输入此文章,统计出文字、数字、空格的个数。
要求:(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据可以是大写、小写的英文字母、任何数字及标点符号。
输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后的文章。
21、纸牌游戏编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次、6、7的直到以52为基数的翻过。
数据结构课程设计题目(1)

数据结构课程设计题目1.表达式求值问题描述:一个算术表达式是由操作数(operand)、运算符(operator)和界限符(delimiter)组成的。
假设操作数是正整数,运算符只含加减乘除等四种运算符,界限符有左右括号和表达式起始、结束符“#”,如:#(7+15)*(23-28/4)#。
引入表达式起始、结束符是为了方便。
编程利用“算符优先法”求算术表达式的值。
基本要求:(1)从键盘读入一个合法的算术表达式,输出正确的结果。
(2)显示输入序列和栈的变化过程。
选作内容:(1)扩充运算符集合。
(2)引入变量操作数。
(3)操作数类型扩充到实数。
2. 简单的员工管理系统问题描述:每个员工的信息包括编号、姓名、性别、出生年月、学历、职务、电话、住址等。
系统的功能如下。
实习要求:(1)查询:按特定条件查找员工。
(2)修改:按编号对某个员工的某项信息进行修改。
(3)插入:加入新员工的信息。
(4)删除:按编号删除已离职的员工的信息。
(5)排序:按特定条件对所有员工的信息进行排序。
3. 迷宫问题问题描述:迷宫实验是取自心理学的一个古典实验。
在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒中设置了许多墙,对行进方向形成了多处阻挡。
盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。
对同一只老鼠重复进行上述实验,一直到老鼠从入口到出口,而不走错一步。
老鼠经多次实验终于得到它学习走迷宫的路线。
设计一个计算机程序对任意设定的迷宫,求出一条从入口到出口的通路,或得出没有通路的结论。
实现提示:可以利用一个二维数组maze[i][j]表示迷宫,其中1<=i<=m,1<=j<=n,m和n分别代表迷宫的行数和列数。
数组元素值为1表示该位置是墙壁,不能通行;元素值为0表示该位置是通路。
假定从maze[1][1]出发,出口位于maze[m][n],移动方向可以是8个方向(东、东南、南、西南、西、西北、北和东北)。
数据结构课程设计题目

数据结构课程设计题目注:以下十道题目,如果可以用图形界面或网页形式显示的,则用图形界面或网页形式显示会加分,而用字符界面显示的也能得到基本分.题目一考试报名系统(必做)项目简介:考试报名工作给各高校报名工作带来了新的挑战,给教务管理部门增加了很大的工作量。
本项目是对考试报名管理的简单模拟,用控制台选项的选择方式完成下列功能:输入考生信息;输出考生信息;查询考生信息;添加考生信息;修改考生信息;删除考生信息。
项目功能要求:(提示:采用单链表实现,可用struct结构体来存放节点数据,该节点数据包括学生的准考证号,姓名,性别,年龄和报考类别等项)本项目的实质是完成对考生信息的建立,查找,插入,修改,删除等功能。
其中考生信息包括准考证号,姓名,性别,年龄和报考类别等信息。
项目在设计时应首先确定系统的数据结构,定义类的成员变量和成员函数;然后实现各成员函数以完成对数据操作的相应功能;最后完成主函数以验证各个成员函数的功能并得到运行结果。
系统示例题目二约瑟夫生者死者游戏项目简介约瑟夫生者死者游戏的大意是:30个旅客同乘一条船,因为严重超载,加上风高浪大危险万分;因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免于难。
无奈,大家只得同意这种方法,并议定30个人围成一圈,由第一个人开始,依次报数,数到第9人,便将他投入大海中,然后从他的下一个人数起,数到第9人,再将他投入大海,如此循环,直到剩下15个乘客为止。
问哪些位置是将被扔下大海的位置。
项目功能要求:(提示:采用单循环链表实现)本游戏的数学建模如下:假如N个旅客排成一个环形,依次顺序编号1, 2, …, N。
从某个指定的第S号开始。
沿环计数,每数到第M个人就让其出列,且从下一个人开始重新计数,继续进行下去。
这个过程一直进行到剩下K个旅客为止。
本游戏要求用户输入的内容包括:1、旅客的个数,也就是N的值;2、离开旅客的间隔数,也就是M的值;3、所有旅客的序号作为一组数据要求存放在某种数据结构中。