《数据结构》课程设计题目及要求

发布 2022-10-06 03:53:28 阅读 8074

1、 每位同学限选1题,并到所在自然班的班长处登记,同一题不超过4人(一个班之内)。

2、 课程设计成绩分为5级:优秀(5分)、良好(4分)、中等(3分)、及格(2分)、不及格(1分)。

3、 题目有难易和工作量大小之分(具体见题目后的“星级”),为体现公平,请参见下表,请同学们结合自身情况选择题目。

4、 课程设计报告和源**严禁抄袭,报告要严格遵照“课程设计任务书”的要求来撰写,大致包含以下内容:

需求分析:叙述每个模块的功能性要求;

② 概要设计:阐述每个模块的算法设计(可以是描述算法的流程图)、使用的存储结构(如果指定存储结构请写出该存储结构的struct或typedef定义);

③ 详细设计:各个算法的实现源**(注意只写算法的源**,完整的源**放在附录里面)。源**必须正确缩进,关键性**(如关键变量 / 参数 / 语句的意义、每个函数的功能等)要给出清楚的中文注释;

④ 调试分析:需要测试数据的至少给出3组测试数据,记录每一组数据输出的结果;并用文字描述调试过程中遇到的问题(问题是哪些?问题如何得以解决?);

课设总结:课程设计过程的收获、遇到的问题、解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考等内容(严禁套话);

附录:完整的源**(必须正确缩进)。

5、 程序运行时,要有友好的说明界面和操作提示菜单(以英文文字显示即可),严禁出现“一运行屏幕一片黑”的情形;程序要有良好的容错性,当输入数据不合理或非法,程序必须能处理之并显示友好的提示信息而不能崩溃。

1、一元多项式计算器(★★

问题描述:创建两个一元多项式a和b,计算a+b, a-b, a*b并显示。多项式的项数和每一项的系数/指数在运行时指定。

2、航空订票系统(★★

问题描述:编写程序模拟航空订票系统,要求实现以下功能:

1 允许增、删、改航班信息,包括“航班号 / 机型 / 起降城市 / 起降时间 / 座位数 / 票价等”(所有航班信息存储在数据文件中,数据结构自定义);

2 允许以“航班号 / 起降城市” 等条件查询航班信息;

3 订票:无票时应能提供相关可选择的航班以继续操作(订票数据存储在数据文件中)。

4 退票:退票后应修改相关数据文件。

3、迷宫问题(★★

问题描述:迷宫以16*16的矩阵存储在数据文件中(迷宫中的障碍物要占到一定比例),编写非递归的程序求出一条从入口到出口的路径并显示之(若能用tc的绘图函数显示迷宫和路径则另加1分)。

4、约瑟夫环问题(★★

问题描述:编号是1,2,……n的n个人按照顺时针方向围坐一圈,每个人持有一个密码(一个正整数)。一开始任选一个正整数作为报数上限值m,从第一个人开始顺时针方向自1开始顺序报数,报到m时停止报数。

报m的人出列,并将他持有的密码作为新的m值,再从他的顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。编写程序求出列顺序(采用单循环链表实现,n、m、每个人的密码均在运行时指定)。

5、二叉树的创建和遍历(★★

问题描述:根据运行时输入的先序序列创建一棵二叉树,分别对其进行先、中、后、层序遍历并显示遍历结果。

6、算术表达式的求值(★★

问题描述:若干个算数表达式存放在数据文件中(每行一个),形如“(6+6)*6+2-3*(2.4/6)”,编写程序计算每个表达式的值(算法参见清华的中文版教材第三章)。

7、二叉查找树的创建、查找、插入和删除(★★

问题描述:运行时产生若干个随机整数,依次插入到一棵初始为空的二叉查找树中,并能在其中查找、插入、删除指定的整数。

问题描述:为本校设计一个校园导游咨询程序,满足以下要求(③、的结果若能用tc的绘图函数显示则另加1分):

1 校园地图存储于数据文件中(格式自定,至少15个景点,25条边),包括景点编号、名称、简介、景点间道路长度等信息;

能根据“景点编号 / 名称”查询任意景点的相关信息;

在用户指定出发和目的景点后,能提供两景点间的最短路径信息;

能为用户提供从指定景点出发游览完其他所有景点的路线信息。

问题描述:为本校设计一个校园网布线方案,并编写程序满足以下要求(最终结果若能用tc的绘图函数显示则另加1分):

1 校园内建筑物信息存储于数据文件中(格式自定,至少15个建筑物),包括建筑物编号、名称、简介等信息;

能根据“建筑物编号 / 名称”查询任意建筑物的相关信息;

施工成本最低且任意两建筑物可以相互通信。

10、马踏棋盘问题(★★

问题描述: 一棋子随机放在8×8棋盘的某个方格中,该棋子下一步能走到的方格如图,编写非递归程序满足以下要求:

1 每个方格只走一次;

2 走遍棋盘上全部64个方格;

3 求出某个满足①、②的行走路线(将1,2,…,64依次填入8×8的矩阵,若能用tc的绘图函数显示则另加1分)。

11、八皇后问题(★★

问题描述:编写非递归程序将8个棋子放在8×8棋盘的8个方格中,满足以下要求:

1 棋盘的每行每列上有且仅有一个棋子;

2 求出所有满足①的解(若能用tc的绘图函数显示则另加1分)。

12、排序算法性能比较(★★

问题描述:编写程序在运行时产生50个随机整数,分别用冒泡排序、选择排序、插入排序、希尔排序、归并排序、快速排序对该50个随机整数进行排序,统计每一种排序算法在执行过程中的比较次数、赋值次数。

13.哈夫曼编码/译码器(★★

问题描述:设计一个利用哈夫曼算法的编码和译码系统,重复地显示并处理以下项目,直到选择退出为止。

将权值数据存放在数据文件(文件名为位于执行程序的当前目录中) ;

分别采用动态和静态存储结构。

初始化:键盘输入字符集大小n、n个字符和n个权值,建立哈夫曼树;

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

输出编码;译码功能;

14散列法的实验研究(★★

问题描述:散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突的方法也可以不同。两者是影响查询算法性能的关键因素。

对于几种典型的散列函数构造方法,做实验观察,不同的解决冲突方法对查询性能的影响。

数据结构课程设计题目及要求

题目 学生信息管理系统的开发与设计。1.基本内容。学生简历 学生信息的添加 学生信息的删除 学生信息的查询 有关信息的输出2.设计要求。以链表为存储结构,利用菜单进行功能选择,测试数据设计者自定。每个学生的数据项包含 学号 姓名 性别 班级 住址等。要求用c完成。要求和安排。1 问题分析和任务定义 ...

数据结构课程设计题目及要求

实验一 实验四任选一题 实验五 实验九任选一题。实验一运动会分数统计。一 实验目的 1 熟练掌握线性表的两种存储方式。2 掌握链表的操作和应用。3 掌握指针 结构体的应用。4 按照不同的学校,不同项目和不同的名次要求,产生各学校的成绩单 团体总分报表。二 实验内容 问题描述 参加运动会的n个学校编号...

《数据结构》课程设计题目及要求

2013 2014学年第一学期 数据结构 课程设计题目及要求。本课程设计一共包括六道大题,请同学们根据自己的爱好选择其中一道大题。每道大题分为若干小题,请根据要求完成,并撰写课程设计报告 电子版 实习报告规范。实习报告的开头给出题目 班级 姓名 学号和完成日期,并包括以下内容 1 需求分析。说明调和...