数据结构课程设计题目

  • 格式:doc
  • 大小:49.50 KB
  • 文档页数:9

下载文档原格式

  / 9
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、线性表部分

1.一元多项式的代数运算

设计要求:计算任意两个一元多项式的加法、减法以及乘法。

设有一元多项式A

m (x)和B

n

(x).

A

m (x)=A

+A

1

x1+A

2

x2+A

3

x3+… +A

m

x m

B

n (x)=B

+B

1

x1+B

2

x2+B

3

x3+… +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)×B

n

(x)。

要求:

1)首先判定多项式是否稀疏

2)分别采用顺序和动态存储结构实现;

3)结果M(x)中无重复阶项和无零系数项;

要求输出结果的升幂和降幂两种排列情况

2、运动会分数统计

任务:参加运动会有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语言程序设计的书上,请自学解决)请在最后的上交资料中指明你用到的存储结构;

测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

3、订票系统

任务:通过此系统可以实现如下功能:

录入:可以录入航班情况

查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;

退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息:当航班信息改变可以修改航班数据文件

要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;

4、设计一个计算机管理系统完成图书管理基本业务。

【基本要求】

1、每种书的登记内容包括书号、书名、著作者、现存量和库存量;

2、对书号建立索引表(线性表)以提高查找效率;

3、系统主要功能如下:

a)采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中

已有,则只将库存量增加;

b)借阅:如果一种书的现存量大于0,则借出一本,登记借阅者的书证号

和归还期限,改变现存量;

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

5、活期储蓄帐目管理

活期储蓄处理中,储户开户、销户、存入、支出活动频繁,系统设计要求:

1、能比较迅速地找到储户的帐户,以实现存款、取款记账;

2、能比较简单,迅速地实现插入和删除,以实现开户和销户的需要。

二、栈和队列

1.八皇后问题

设计要求:在棋盘上摆放八个皇后,使任意两个不在同一行,同一列,及同一对斜线上。皇后的摆位任意,由用户设定,程序给出剩余皇后的摆位,并以图形方式显示所有布局。

2、算术表达式合法性检验

设计要求:

输入一个一个算术表达式,进行括号匹配检验、操作符和操作数匹配检验等操作,判断是否是合法的表达式。

3、迷宫求解

任务:可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出;

要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;

4、银行客户排队叫号程序模拟

问题描述:设银行有四个服务窗口,一个等待队列,每个窗口均可以办理存款、取款、挂失、还贷业务,每种业务所需的服务时间不同,客户到达银行后,先到打号机上打号,号票上包括到达时间、编号和需要办理的业务,然后在银行内等候,当任一服务窗口空闲时,处理等候客户中排在最前面的客户的业务。

设计要求:设计一个上述银行业务的模拟系统,通过模拟方法求出客户在银

行内逗留的平均时间和每个窗口办理的客户数及办理的每种业务数。要求每个客户到达银行的时间和需要办理的业务随机产生,输出一天客户在银行的平均逗留时间和每个窗口每天办理的客户数和每种业务数。

三、树

1、哈夫曼编/译码器;

设计要求:针对字符集A及其各字符的频率值(可统计获得)给出其中给字符哈夫曼编码,并针对一段文本(定义在A上)进行编码和译码,实现一个哈夫曼编码/译码系统。

2、算术表达式求值

设计要求:

1、输入一个算术表达式,分别转化为前缀、后缀表达式。

2、并根据逆波兰表示计算表达式的值。

3、二叉树遍历问题

设计要求:

1、要求能够输入树的各个结点,创建二叉树,在屏幕上绘制该二叉树,并输出用不同方法遍历的遍历序列(先序、中序、后序、按层次遍历);

2、实现求二叉树的深度、求以x为根的子树深度、求二叉树的根、求二叉树的结点数;

3、输出从根到叶子结点的路径、

4、删除以x为根的子树并释放每个结点等基本算法。

四、图

1、关键路径

设计要求:对于任何大型工程项目(由若干小工程组成),求其关键路径。