当前位置:文档之家› 数据结构课程设计题目及要求_49968

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

《数据结构》课程设计题目课程设计题一:学生成绩管理系统设计目的:1 掌握线性链表的建立。

2 掌握线性链表的基本操作。

3 掌握查找的基本算法。

设计内容:利用线性链表实现学生成绩管理系统,具体功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出,并能在屏幕上输出操作前后的结果。

设计要求:1 写出系统需求分析,并建模。

2 编程实现,界面友好。

3 输出操作前后的结果。

课程设计题二:停车场管理系统设计目的:1 掌握栈和队列的建立。

2 掌握栈和队列的基本操作。

3 深入了解栈和队列的特性,以便在解决实际问题中灵活运用它们。

4 加深对栈和队列的理解和认识。

设计内容:设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。

车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。

停车场内如有某辆车要开走,在他之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆在依原来的次序进场。

每辆车在离开停车场时,都应依据它在停车场内停留的时间长短交费。

如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。

编制一程序模拟该停车场的管理。

设计要求:1 以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。

2 每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码以及到达或离去的时刻。

3 对每一组输入数据进行操作后的输出信息为:若是车辆到达,则输出汽车在停车场或便道上的停车位置;若是车辆离去,则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费,功能可自己添加)。

课程设计题三:约瑟夫(Joseph)环设计目的:1 掌握单向循环链表的建立。

2 掌握单向循环链表的操作。

设计内容:编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。

一开始任选一个正整数作为报数上限值m,从第一个仍开始顺时针方向自1开始顺序报数,报到m时停止报数。

报m的人出列,将他的密码作为新的m 值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。

请设计一个程序求出出列顺序。

设计要求:1 利用单向循环链表存储结构模拟此过程,按照出列的顺序输出各个人的编号。

2 测试数据:m的初值为20,n=7,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么?3 输入数据:建立输入函数处理输入的数据,输入m的初值n,输入每个人的密码,建立单向循环链表。

4 输出形式:建立一个输出函数,将正确的出列顺序输出。

课程设计题四:文学研究助手的实现设计目的:1 熟悉串类型的实现方法和文本匹配方法。

2 熟悉一般文字处理软件的设计方法。

设计内容:文学研究人员需要统计某篇英文小说中某些形容词的出现次数和位置。

试写一个实现这一目标的文字统计系统,称为“文学研究助手”。

设计要求:1 英文小说存于一个文本文件中。

2 待统计的词汇集合要一次输入完毕。

3 程序的输出结果是每个词的出现次数和出现位置所在行的行号,格式自行设计。

课程设计题五:一元稀疏多项式计算器设计目的:1 掌握稀疏矩阵的相关运算。

2 掌握广义表的操作。

设计内容:设计一个一元稀疏多项式简单计算器。

设计要求:一元稀疏多项式简单计算器的基本功能是:1 输入并建立多项式;2 输出多项式,输出形式为整数序列:n,c1,e1,,c2,e2 …… cn,en,其中 n 是多项式的项数,ci和ei分别是第i项的系数和指数,序列按指数降序排列。

3 多项式a和b相加,建立多项式a+b4 多项式a和b相减 ,建立多项式a-b课程设计题六:哈夫曼树及其应用设计目的:1 熟悉树的各种存储结构及其特点。

2 掌握建立哈夫曼树和哈夫曼编码的方法及带权路径长度的计算。

设计内容:欲发一封内容为AABBCA B ……(共长 100 字符,其中:A 、B 、C 、D 、E 、F分别有7 、9 、12 、22 、23、27个)的电报报文,实现哈夫曼编码。

设计要求:1 分析系统需求。

2 建立哈夫曼树。

3 进行哈夫曼编码,并求出平均编码长度。

4 编程实现2、3步骤。

课程设计题七:哈夫曼编/译码器设计目的:1 掌握建立哈夫曼树和哈夫曼编码的方法。

2 掌握哈夫曼编码的实际应用方法。

设计内容:利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。

但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码。

对于双工信道(即可以双向传输信息的信道),每端都需要一个完成的编\译码系统。

试为这样的信息收发站写一个哈夫曼的编\译码系统。

设计要求:1 初始化。

从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树。

2 编码。

利用已建好的哈夫曼树,对正文进行编码。

3 译码。

对编码好的内容进行译码。

4 打印编码。

5 打印哈夫曼树。

课程设计题八:图的遍历演示设计目的:1 理解图的基本概念,熟悉图的各种存储结构及其构造算法。

2 掌握图的遍历方法。

设计内容:实现图的深度优先、广度优先遍历算法,并输出原图结构及遍历结果。

设计要求:1 两种遍历方法必须都要实现,写出画图的思路。

2 界面友好,函数功能要划分合理。

3 总体设计应画一流程图。

4 程序要加必要的注释。

5 提供程序测试方案。

课程设计题九:交通咨询系统设计设计目的:1 熟练掌握迪杰斯特拉算法和费洛伊德算法,能够利用它们解决最短路径问题。

2 能够解决工程项目实施过程中的关键路径问题。

设计内容:设计一个交通咨询系统,能让旅客咨询从任一个城市定点到另一个城市定点之间的最短路径或最低花费或最少时间等问题。

对于不同的咨询要求、可输入城市间的路程或所需时间或所需花费。

设计要求:1 建立交通网络网的存储结构。

2 总体设计要画流程图。

3 提供程序测试方案。

4 界面友好。

课程设计题十:航班信息的查询与检索设计目的:1 深刻理解排序的定义和各种排序方法的特点,并能灵活的应用;2 掌握描述查找过程的判定树的构造方法。

设计内容:设计民航售票处的计算机系统可以为客户提供下列各项服务:1. 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行、最近一天航班的日期和余票额;2. 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况。

设计要求:1 对飞机航班信息进行排序和查找。

可按航班的航班号、起点站、到达站、起飞时间以及到达时间等信息进行查询。

2 利用二分查找法对排好序的航班记录按航班号实现快速排序。

3 每个航班记录包括八项,分别为:航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号以及票价等。

课程设计题十一:迷宫求解设计目的:1 掌握栈和队列的建立。

2 掌握栈和队列的基本操作。

设计内容:可以读入一个任意大小的迷宫数据,分别用广度和深度搜索的方法求出一条走出迷宫的路径,并将路径输出(最佳路径);设计要求:以较为直观的方式显示结果课程设计题十二:图书管理系统(查找应用)设计内容:图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。

试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。

每种书的登记内容至少包括书号、书名、著者、现存量和总库存量等五项。

1、由于图书管理的基本业务活动都是通过书号(即关键字)进行的,所以要用对书号索引,以获得高效率。

2、系统应实现的基本功能有:●采编入库:新购入一种书,经分类和确定书号之后登记到图书帐目中去。

如果这两种书在帐中已有,则只将总库存量增加。

●清除库存:某种书已无保留价值,将它从图书帐目中注销。

●借阅:如果一种书的现存量大于零,则借出一本,登记借阅者的图书证号和归还期限。

●归还:注销对借阅者的登记,改变该书的现存量。

●显示:以凹入表的形式显示B树。

这个操作是为了调试和维护的目的而设置的。

课程设计题十三:通信录查询系统(查找应用)设计内容:设计散列表实现通讯录查找系统。

(1) 设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;(3) 采用二次探测再散列法解决冲突;(4) 查找并显示给定电话号码的记录;(5) 通讯录信息文件保存;(6) 要求人机界面友好,使用图形化界面;设计要求:主函数:根据选单的选项调用各函数,并完成相应的功能。

Menu()的功能:显示英文提示选单。

Quit()的功能:退出选单。

Create()的功能:创建新的通讯录。

Append()的功能:在通讯录的末尾写入新的信息,并返回选单。

Find():查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有此人的信息,并返回选单。

Alter()的功能:修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。

Delete()的功能:删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。

List()的功能:显示通讯录中的所有记录。

Save()的功能:保存通讯录中的所有记录到指定文件中。

Load()的功能:从指定文件中读取通讯录中的记录。

课程设计题十四:药店的药品销售统计系统(排序应用)设计内容:设计一系统,实现医药公司定期对销售各药品的记录进行统计,可按药品的编号、单价、销售量或销售额做出排名。

在本设计中,首先从数据文件中读出各药品的信息记录,存储在顺序表中。

各药品的信息包括:药品编号、药名、药品单价、销出数量、销售额。

药品编号共4位,采用字母和数字混合编号,如:A125,前一位为大写字母,后三位为数字,按药品编号进行排序时,可采用基数排序法。

对各药品的单价、销售量或销售额进行排序时,可采用多种排序方法,如直接插入排序、冒泡排序、快速排序,直接选择排序等方法。

在本设计中,对单价的排序采用冒泡排序法,对销售量的排序采用快速排序法,对销售额的排序采用堆排序法。

药品信息的元素类型定义:typedef struct node{ char num[4]; /*药品编号*/char name[10]; /*药品名称*/float price; /*药品单价*/int count; /*销售数量*/float sale; /*本药品销售额*/}DataType;存储药品信息的顺序表的定义:typedef struct{ DataType r[MaxSize];int length;}SequenList;三、上交作业及成绩评定1、上交要求1)上交课程设计报告。

相关主题