数据结构课程设计题目(最终版)

  • 格式:doc
  • 大小:39.50 KB
  • 文档页数:5

下载文档原格式

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

数据结构课程设计题目

1、医务室模拟。

问题描述:假设只有一位医生,在一段时间内随机地来几位病人;假设病人到达的时间间隔为0~14分钟之间的某个随机值,每个病人所需处理时间为1~9分钟之间的某个随机值。试用队列结构进行模拟。

实现要求:要求输出医生的总等待时间和病人的平均等待时间。

程序设计思路:计算机模拟事件处理时,程序按模拟环境中的事件出现顺序逐一处理,在本程序中体现为医生逐个为到达病人看病。当一个病人就诊完毕而下一位还未到达时,时间立即推进为下一位病人服务,中间时间为医生空闲时间。当一个病人还未结束之前,另有一位病人到达,则这些病人应依次排队,等候就诊。

2、招聘模拟

问题描述:某集团公司为发展生产向社会公开招聘m个工种的工作人员,每个工种各有不同的编号(0,1,2,…,m-1)和计划招聘人数,参加招聘的人数有n个(编号为0,1,2,。。。,n-1)。每位应聘者可以申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩,从高到低的顺序排队录取。公司的录取原则是:从高分到低分依次对每位应聘者按其第一志愿录取;当不能按第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其志愿考虑录取。

程序为每个工种保留一个录取者的有序队列。录取处理循环直至招聘额满,或已对全部应聘者都做了录用处理。

实现要求:要求程序输出每个工种录用者的信息(编号、成绩),以及落选者的信息(编号、成绩)。

3、组织机构问题

问题描述:以青岛理工大学为例,实现对我校组织结构的管理。要求把我校的组织结构以树型结构存储,实现要求:

(1)树中每个结点保存部门名称;

(2)假定处级部门(含院系)在树中第二层,科级部门在第三层(即最后一层),软件应该能计算出处级部门有几个,有哪几个?

(3)软件可以查询某部门下面的具体编制?

4、最少换车次数问题

问题描述:设某城市有n个车站,并有m条公交线路连接这些车站。设这些公交车站都是单向的,这n个车站被顺序编号为0~n-1。编程序,输入该城市的公交线路数,车站个数,以及各公交线路上的各站编号。

实现要求:求得从站0出发乘公交车至站n-1的最少换车次数。

设计思路:利用输入信息构建一张有向图G(邻接矩阵存储),有向图的顶点表示车站,若某条公交线路经i站能到达j站,就在图G中存在一条有向边,权值为1。因此,从站x至站y的最少上车次数对应于图G中从顶点x到顶点y的最短路径长度。

5、职工工作量统计

问题描述:采用随机函数产生职工的工号和他所完成产品个数的数据信息,对同一职工多次完成的产品个数进行累计,按职工完成产品数量的名次、该名次每位职工完成的产品数量、同一名次的职工人数和他们的职工号格式输出。

实现要求:输出统计结果,如下所示:

Order Quantity Count Number

1 375 3 10 20 21

4 250 2 3 5

6 200 1 9

7 150 2 11 14

……………

程序设计思路:采用链表结构存储有关信息,链表中的每个结点对应于一位职工。在数据采集的同时,形成一个有序链表(按完成的产品数量和工号排序)。当一个职工有新的数据输入,在累计他的完成数量时会改变原来链表的有序性,为此应对链表进行删除、查找和插入等操作。

6、航空客运订票系统

问题描述:航空客运订票的业务活动包括:查询航线和客票预定的信息、客票预定和办理退票等。设计一个计算机程序,使上述任务能借助计算机来完成。

基本要求

1)系统必须存储的数据信息

(1)航线信息(9个):飞机抵达城市、航班号、飞机号、起降时间、航班票价、票价折扣、总位置和剩余位置、已定票的客户名单。

(2)客户信息(3个):客户姓名、证件号、座位号

2)系统能实现的操作和功能

(1)承办订票业务:根据客户提出的要求(飞机抵达城市、起降时间、订票数量)查询该航班信息(包括票价、折扣和剩余位置),若满足要求,则为客户办理订票手续,输出座位号。

(2)承办退票业务:根据客户提供的情况(航班号,订票数量),为客户办理退票手续。(3)查询功能:(较高要求)

A、查询航线信息:根据飞机降落地点,输出航班号、飞机号、起降时间、航班票价、票价折扣和剩余位置等信息。

B、查询客户预订信息:根据客户证件号,输出航班号、飞机号和座位号等信息。

7、公园主要游览景点之间最短距离问题

问题描述:图的最短路径问题是指从指定的某一点v开始,求得从该地点到图中其它各地点的最短路径。并且给出求得的最短路径的长度及途径的地点。除了完成最短路径的求解外,还能对该图进行修改,如顶点以及边的增删、边上权值的修改等。

公园最短路径问题中的数据元素有:

(1)顶点数

(2)边数

(3)边的长度

功能需求:要求完成以下功能:

(1) 输出顶点信息:将公园内各景点输出。

(2)输出边的信息:将公园内每两个位置(若两个位置之间有直接路径)的距离输出。

(3) 修改:修改两个位置(若两个位置之间有直接路径)的距离,并重新输出每两个位

置(若两个位置之间有直接路径)的距离;

(4) 求最短路径:输出给定两点之间的最短路径的长度及途经的地点,输出任意一点与

其他各点的最短路径。(较高要求)

(5)删除:删除任意一条边。

(6)插入:插入任意一条边。

8、迷你计算器

功能要求:

(1 )计算任意一个算术表达式的加法、减法、除法以及乘法。

( 2 )运算数为整数和小数

( 3 )人机界面自定义,要友好。如用户输入错误在计算之前可以修改。

9、排序算法演示系统

【问题描述】

设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。【基本要求】

(1)实现各种内部排序。包括冒泡排序,直接选择排序,希尔排序,快速排序,堆排序。

(2) 待排序的元素的关键字为整数。其中的数据要用随机数产生(如10000个),至少用5组不同的数据做比较,再使用各种算法对其进行排序,记录其排序时间,再汇总比较。(3) 演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标值的列表,比较各种排序的优劣。

(4) 界面友好,易与操作。采用菜单方式进行选择。

10、通讯录

【问题描述】

设计散列表实现通讯录查找系统。

【基本要求】

(1) 设每个记录有下列数据项:电话号码、用户名、地址;

(2) 从键盘输入各记录,分别以电话号码为关键字建立散列表;

(3) 采用线性探测再散列法解决冲突;

(4) 查找并显示给定电话号码的记录;

(5) 通讯录信息文件保存;

(6) 要求人机界面友好,使用图形化界面;

【实现提示】

如果不用界面编程,可用以下函数实现:

主函数:根据选单的选项调用各函数,并完成相应的功能。

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

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

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

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

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