数据结构课程设计课题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》课程设计课题表
课程内容
课题
编号
1.设计出链表结构的相关函数库,以便在程序设计中调用
2.设计出顺序表结构的相关函数库,以便在程序设计中调用
3.设计一元多项式的相关函数库,以便在程序设计中调用
4.设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符的任意整
型表达式进行求解
5.设计出二叉链表结构的相关函数库,以便在程序设计中调用
6.设计出树结构的相关函数库,以便在程序设计中调用
7.采用哈夫曼编码思想实现文件的压缩和恢复功能,并提供压缩前后的占用空间
之比
8.设计出图结构的相关函数库,以便在程序设计中调用
9.校园导航问题
10.比较排序算法的时间性能
11.飞机订票系统任务
12.文章编辑
13.教学计划编制问题
14.活期储蓄帐目管理
15.简易文本编辑器
16.图的遍历和生成树求解实现
17.宿舍管理查询软件
18.图书借阅管理系统
19.二叉排序树的实现
20.稀疏矩阵应用
21.树与二叉树的转换的实现
22.关键路径问题
23.哈希表设计与实现
课题1:设计出链表结构的相关函数库,以便在程序设计中调用。要求:
(1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题2:设计出顺序表结构的相关函数库,以便在程序设计中调用。要求:
(1)包括线性表的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题3:设计一元多项式的相关函数库,以便在程序设计中调用。
要求:
(1)所设计的数据结构应尽可能节省存储空间。
(2)设计一元多项式的各种基本函数,要求有一元多项式的加减法和乘法。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题4:设计一个模拟计算器的程序,要求能对包含加、减、乘、除、括号运算符的任意整型表达式进行求解。
要求:要检查有关运算的条件,并对错误的条件产生报警。
课题5:设计出二叉链表结构的相关函数库,以便在程序设计中调用。要求:
(1)包括二叉树的各种基本函数以及常用函数(自己确定函数、函数形式及理由)。 (2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示 出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题6:设计出树结构的相关函数库,以便在程序设计中调用。要求:
(1)包括树结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及 理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示 出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题7:采用哈夫曼编码思想实现文件的压缩和恢复功能,并提供压缩前后的占用空间
之比。要求如下:
(1)设计构造哈夫曼树的基本函数,以及实现文件压缩和恢复的函数
(2)求解出所构造的哈夫曼树的带权路径长度。
(3)运行时的压缩原文件的规模应不小于5K,演示通过调用自己的库函数来实现文件的压缩和恢复功能。
课题8:设计出图结构的相关函数库,以便在程序设计中调用。要求:
(1)包括图结构的存储结构及各种基本函数以及常用函数(自己确定函数、函数形式及 理由)。
(2)最好能借助语言环境实现图形显示功能,以便能将抽象的数据结构以图形方式显示出来,将复杂的运行过程以动态方式显示出来。
(3)给出若干例程,演示通过调用自己的库函数来实现相关问题的求解。
课题9(校园导航问题):计你的学校的平面图,至少包括10 个以上的场所,每两个
场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最 短路径)。
课题10:给出一组实验来比较下列排序算法的时间性能:
快速排序、堆排序、希尔排序、冒泡排序、归并排序(其它排序也可以作为比较的对
象)
要求:
(1)时间性能包括平均时间性能、最好情况下的时间性能、最差情况下的时间性能等。
(2)实验数据应具有说服力,包括:
规模范围要大(如从100 到10000)
数据的初始特性类型要多,因而需要具有随机性;
实验数据的组数要多,即同一规模的数组要多选几种不同类型的数据来实验。
实验结果要能以清晰的形式给出,如图、表等。
(3)算法所用时间必须是机器时间,也可以包括比较和交换元素的次数。
(4)实验分析及其结果要能以清晰的方式来描述,如数学公式或图表等。
(5)要给出实验的方案及其分析。
课题11:飞机订票系统任务:通过此系统可以实现如下功能:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自
定)。查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况。订票:(订票情况可以存在一个数据文件中,结构自己设定);可以订票,如果该航班已经 无票,可以提供相关可选择航班。退票: 可退票,退票后修改相关数据文件;客户资料有 姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以 修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;
课题12:文章编辑:输入一页文字,程序可以统计出文字、数字、空格的个数(2人)。
静态存储一页文章,每行最多不超过80 个字符,共N 行;要求
(1)分别统计出其中
英文字母数和空格数及整篇文章总字数;
(2)统计某一字符串在文章中出现的次数,并输
出该次数;
(3)删除某一子串,并将后面的字符前移。
(4)存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。
(5)输出形式:a.分行输出用户输入的各行字符;b.分4 行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"c.输出删除某一字符串后的文章。
课题13: 教学计划编制问题
设计要求:针对计算机系本科课程,根据课程之间的依赖关系(如离散数学应在数据
结构之前开设)制定课程安排计划,并满足各学期课程数目大致相同。
课题14:活期储蓄帐目管理
活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:
(1) 能比较迅速地找到储户的帐户,以实现存款、取款记账;
(2) 能比较简单,迅速地实现插入和删除,以实现开户和销户的需要
课题15:简易文本编辑器。
要求:
(1) 具有图形菜单界面;
(2) 查找,替换(等长,不等长),插入(插串,文本块的插入)、块移动(行块,列
块移动),删除;
(3) 可正确存盘、取盘;