《数据结构》课程设计任务书[2023-01-24]
《数据结构》课程设计任务书
此任务书仅适用选课储岳中老师的学生
QQ群:7492682161(入群密码:2022DS1)
一、设计要求
仔细阅读《数据结构课程设计指导》一书,选好题目,认真制定课程设计方案,在规定的时间内设计完成并按一定格式以书面形式上交报告。设计报告内容一般包括以下几个方面:(1)问题描述;(2)设计思路;(3)数据结构定义;(4)系统功能模块介绍。(5)程序清单;(6)运行结果及分析;(7)课程设计总结等。打印报告模板附后。
二、具体任务
本次课程设计参考题目如下,要求完成至少两个题目,且至少包含一个非线性结构题型,也可自行选题。以下题目仅供参考。
1.一元多项式计算
能够按照指数降序排列建立并输出多项式;能够完成两个多项式的相加、相减和相乘,并将结果输出。
2.矩阵的运算
采用十字链表表示稀疏矩阵,并实现矩阵的加法运算, 要求:要检查有关运算的条件,并对错误的条件产生报警。
3. 迷宫求解
输入一个任意大小的迷宫数据,用递归和非递归两种方法分别求出一条走出迷宫的路径,并将路径输出;
4.文章编辑器
编写一个简单的文本编辑软件,能基本实现文本的输入、修改、插入、删除、保存和打开等功能。
5. 建立二叉树和线索二叉树
分别用以下方法建立二叉树并用图形显示出来:
1) 用先序遍历的输入序列
2) 用层次遍历的输入序列
3) 用先序和中序遍历的结果
最后对所建立的二叉树进行中序线索化,并对此线索树进行中序遍历(不使用栈)。
6.学生成绩查询系统
试编写程序完成学生成绩记录的查询。
学生基本情况
学 号 姓 名 成绩
99070101 李 军 98.5
99070102 王颜霞 86
99070103 孙 涛 56
99070104 单晓宏 96
99070105 张华 83
99070106 李小明 72
99070107 陈小婷 98
① 若按学号进行顺序查找,例如:输入99070103,则输出 56 。
② 按学号排序后对学号进行折半查找。
③ 随机输入以学号为关键字的学生信息并构建二叉排序树,对学号进行二叉排序树查找。
④ 要求用文件或数据库保存成绩信息。
7. 大数相乘问题
例如:输入第一个数为:13286754398172586,输入第二个数为:2397567453241147则程序运行后输出13286754398172586*2397567453241147=正确答案。要求在课程设计报告中将大数的存储原理、相乘策略等解释清楚。建议通过面向对象的方式呈现结果。
8. 设计一个模拟计算器来完成表达式的计算
要求对包含加、减、乘、除、括号运算符的任意整型表达式进行求解,操作数可以是多位数。
9. 3×3的九宫问题
在一个3×3的九宫中有1∽8这8个数及一个空格随机地摆放在其中的格子里。如下图10.1(a)所示。现在要求实现这样的问题:将该九宫格调整为如下图10.1(b)所示的形式。调整的规则是:每次只能将与空格(上、下或左、右)相邻的一个数字平移到空格中。试编程实现这一问题的求解。
2 3 7 1 2 3
1 8 6 8 4
5 4 7 6 5
(a) (b)
10. 图的遍历过程演示
设计程序完成如下功能:对给定的图结构和起点,产生深度优先遍历和广度优先遍历序列,并给出求解过程的动态演示。
11.构造n个城市连接的最小生成树
一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。基本要求:
1)城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值。要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。
2)表示城市间距离网的邻接矩阵(要求至少6个城市,10条边)
12.输入带排序序列生成二叉排序树,并调整使其变为平衡二叉树。
最好能将平衡化过程动态地演示出来。
13.以面向对象的方式开发一些数据结构虚拟实验演示程序:
如二叉树的遍历过程、哈夫曼树的创建过程、二叉树的线索化过程、图的遍历过程、图的最小生成树创建过程、图的最短路径求解过程、图的拓扑排序过程、图的关键路径求解过程、二叉排序树创建过程、平衡二叉树调整过程、哈希查找过程、各种排序算法的动态演示过程等。此题若做成,成绩直接定为“优”。
14.其它任意符合选题要求的课题均可。
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
三、几点说明
1、学期结束前在机房验收程序和课程设计报告;
2、课程设计报告注意事项:
1)运行结果请截图(Alt + PrtScr);
2) 系统功能模块介绍请请采用流程图形式;
3)课程设计总结可以从以下几个方面书写 : 课程设计的收获、遇到问题及其解决过程、程序调试技巧、在课程设计过程中对《数据结构》课程的认识等内容。
附一:课程设计报告模板
安徽工业大学
计算机科学与技术学院
数据结构课程设计报告
题目一:
题目二:
班 级:
姓 名:
学 号:
指导教师: 储岳中
评阅意见:
成绩评定:
评阅人: 日期:
完成日期: 年 月
目录
一、问题描述
二、设计思路
三、数据结构设计
四、功能函数设计
五、程序代码
六、运行结果及分析
七、设计心得