当前位置:文档之家› 数据结构课程设计题目(最终版)-2011

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

数据结构课程设计题目2012-11、医务室模拟。

(5人)问题描述:假设只有一位医生,在一段时间内随机地来几位病人;假设病人到达的时间间隔为0~14分钟之间的某个随机值,每个病人所需处理时间为1~9分钟之间的某个随机值。

试用队列结构进行模拟。

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

程序设计思路:计算机模拟事件处理时,程序按模拟环境中的事件出现顺序逐一处理,在本程序中体现为医生逐个为到达病人看病。

当一个病人就诊完毕而下一位还未到达时,时间立即推进为下一位病人服务,中间时间为医生空闲时间。

当一个病人还未结束之前,另有一位病人到达,则这些病人应依次排队,等候就诊。

2、招聘模拟(5人)问题描述:某集团公司为发展生产向社会公开招聘m个工种的工作人员,每个工种各有不同的编号(0,1,2,…,m-1)和计划招聘人数,参加招聘的人数有n个(编号为0,1,2,。

,n-1)。

每位应聘者可以申报两个工种,并参加公司组织的考试。

公司将按应聘者的成绩,从高到低的顺序排队录取。

公司的录取原则是:从高分到低分依次对每位应聘者按其第一志愿录取;当不能按第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其志愿考虑录取。

程序为每个工种保留一个录取者的有序队列。

录取处理循环直至招聘额满,或已对全部应聘者都做了录用处理。

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

3、组织机构问题(5人)问题描述:以物资学院为例,实现对我校组织结构的管理。

要求把我校的组织结构以树型结构存储,实现要求:(1)树中每个结点保存部门名称;(2)假定处级部门(含院系)在树中第二层,科级部门在第三层(即最后一层),软件应该能计算出处级部门有几个,有哪几个?(3)软件可以查询某部门下面的具体编制?4、最少换车次数问题(5人)问题描述:设某城市有n个车站,并有m条公交线路连接这些车站。

设这些公交车站都是单向的,这n个车站被顺序编号为0~n-1。

编程序,输入该城市的公交线路数,车站个数,以及各公交线路上的各站编号。

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

设计思路:利用输入信息构建一张有向图G(邻接矩阵存储),有向图的顶点表示车站,若某条公交线路经i站能到达j站,就在图G中存在一条有向边<i,j>,权值为1。

因此,从站x至站y的最少上车次数对应于图G中从顶点x到顶点y的最短路径长度。

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

实现要求:输出统计结果,如下所示:Order Quantity Count Number1 375 3 10 20 214 250 2 3 56 200 1 97 150 2 11 14……………程序设计思路:采用链表结构存储有关信息,链表中的每个结点对应于一位职工。

在数据采集的同时,形成一个有序链表(按完成的产品数量和工号排序)。

当一个职工有新的数据输入,在累计他的完成数量时会改变原来链表的有序性,为此应对链表进行删除、查找和插入等操作。

6、约瑟夫环问题(5人)问题描述:编号是1,2,……,n的n个人按照顺时针方向围坐一圈,每个人只有一个密码(正整数)。

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

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

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

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

测试数据:m的初值为20,n=7 ,7个人的密码依次为3,1,7,2,4,7,4,首先m=6,则正确的输出是什么?7、外部文件流的应用。

(5人)有订单文件如下:货号品名进口单价数量开单日期生产单位LX-750 影碟机TRUE 5900.00 4 1996-8-10 松下电器公司YU-120 彩电FALSE 6700.00 4 1996-10-10 上海电视厂AX-120 音响TRUE 3100.00 5 1995-10-11 日立电器公司DV-430 影碟机TRUE 2680.00 3 1996-9-30 三星公司FZ-901 取暖器FALSE 318.00 6 1996-9-5 福利电器厂LB-133 音响TRUE 4700.00 8 1995-12-30 索尼公司SY-701 电饭锅FALSE 258.00 10 1996-8-19 爱德电器厂NV-920 录音机TRUE 1750.00 6 1996-7-20 先锋电器公司要求:1)实现订单的输入功能2)实现订单的输出功能3)实现订单的删除功能4)实现订单的查询功能(可以按照货号、品名、单价查询)8、旅游线路安排模拟系统问题描述:构造一条旅游线路和各景点之间旅游费用,假设城市间往返旅费可以不等,设计一个计算机程序模拟从北京出发,游玩某旅游线路上的各个城市,要求总的旅费最少。

实现提示:采用邻接矩阵A表示各景点之间的关系,其中矩阵元素aij表示从i号城市到j 号城市的旅费。

求解该问题的算法是在表每行中找最小元素,该行非∞元素减该数。

再对每列做同样的工作,形成一个新的矩阵B(保证每行、每列均不少1个零),所有减数累加为min(其含义为旅费下界)。

8、航空客运订票系统(5人)问题描述:航空客运订票的业务活动包括:查询航线和客票预定的信息、客票预定和办理退票等。

设计一个计算机程序,使上述任务能借助计算机来完成。

基本要求1)系统必须存储的数据信息(1)航线信息(9个):飞机抵达城市、航班号、飞机号、起降时间、航班票价、票价折扣、总位置和剩余位置、已定票的客户名单。

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

(2)承办退票业务:根据客户提供的情况(航班号,订票数量),为客户办理退票手续。

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

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

9、北海公园主要游览景点之间最短距离问题(5人)问题描述:图的最短路径问题是指从指定的某一点v开始,求得从该地点到图中其它各地点的最短路径。

并且给出求得的最短路径的长度及途径的地点。

除了完成最短路径的求解外,还能对该图进行修改,如顶点以及边的增删、边上权值的修改等。

公园最短路径问题中的数据元素有:(1)顶点数(2)边数(3)边的长度功能需求:要求完成以下功能:(1) 输出顶点信息:将公园内各景点输出。

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

(3) 修改:修改两个位置(若两个位置之间有直接路径)的距离,并重新输出每两个位置(若两个位置之间有直接路径)的距离;(4) 求最短路径:输出给定两点之间的最短路径的长度及途经的地点,输出任意一点与其他各点的最短路径。

(较高要求)(5)删除:删除任意一条边。

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

10、文件压缩解压:利用Huffman树实现文件的压缩和解压。

(6人)问题描述:假定待压缩的文本以数组方式存储。

实现要求:(1)具备提示输入待压缩字符串、输出字符串的功能。

(2)首先对待压缩字符串进行文本分析,得到文本的组成字符包含在数组ch[]中,以及字符的出现频度在数组pin[]中。

(3)压缩文本,输出压缩结果。

并将压缩后的字符串保存在另外的数组中。

(4)文本解压。

11、排序算法的比较(5人)问题描述:编程实现希尔、快速、堆、归并四种排序算法,并计算每种算法的比较、移动次数。

要求待排序数据从磁盘文件读入,实施排序后将数据写入另一文件。

实现要求:(1)能进行各种排序算法运算,排序包括直接插入、希尔排序、冒泡排序、快速排序、堆排序。

( 2 )能对各种算法进行比较(包括元素的比较次数和移动次数)( 3 )人机界面自定义,要友好。

将排序的结果包括排序后的序列、算法关键字比较和移动的次数等。

显示的形式可为图形或文本。

( 4 )数据的输入有两种方式:手工输入和随机生成。

要注意输入数据的个数。

随机个数<10000。

手工输入个数<10。

*较高要求:实现图形化操作界面,在不同界面间可相互切换。

12、迷你计算器(5人)功能要求:( 1 )计算任意一个算术表达式的加法、减法、除法以及乘法。

( 2 )运算数为整数和小数( 3 )人机界面自定义,要友好。

如用户输入错误在计算之前可以修改。

13、简单电话号码查询系统问题描述:人们在日常中经常要查找某个人或某个单位的电话号码,本试验要求实现个人电话号码查询系统,根据用户输入的信息(如姓名等)进行快速查询。

实现要求:(1)在外存上,用文件保存电话号码信息;(2)在内存中,设计数据结构存储电话号码信息;(3)提供查询功能:根据姓名实现快速查询;(4)提供其他维护功能,例如插入、删除、修改等。

相关主题