使用队列实现排队系统.docx
- 文档编号:9502696
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:11
- 大小:21.58KB
使用队列实现排队系统.docx
《使用队列实现排队系统.docx》由会员分享,可在线阅读,更多相关《使用队列实现排队系统.docx(11页珍藏版)》请在冰豆网上搜索。
使用队列实现排队系统
《数据结构与算法》课程设计教学任务书
--2013-2014(第一学期)
课程设计周数:
2周
一、课程设计的目的
数据结构课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。
数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学习数据结构是为了将实际问题中所涉及的对象在计算机中表示出来并对它们进行处理。
通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。
通过此次课程设计主要达到以下目的:
⏹了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
⏹初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
⏹提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
⏹训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计的基本要求
1、独立思考,独立完成:
课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
2、做好上机准备:
每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3、按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;
其中包括:
a)需求分析:
在该部分中叙述,每个模块的功能要求
b)概要设计
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。
要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析
测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?
问题如何解决?
),算法的改进设想。
课程设计总结:
(保存在word文档中)总结可以包括:
课程设计过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容;
4、每人实现的结果必须进行检查和演示;程序源代码和程序的说明文件必须上交,作为考核内容的一部分;(上交时每人交一份,文件夹的取名规则为:
“学号姓名”,如“200413498高魁”。
该文件夹下至少包括:
“源代码”、“课程设计报告”、“可执行文件”。
由学习委员收集刻盘按规定时间统一上交)。
5、课程设计报告不要附原代码,可以对重点函数及结构进行说明。
报告格式见要求。
6、报告提交
时间:
2014年1月9日最后一次课检查,并由学习委员收集上交课程设计报告,迟交无成绩。
形式:
课程设计报告纸质和电子文档(按班级统一刻盘)。
三、课程设计内容:
1、内部排序演示
【问题描述】
设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。
【基本要求】
(1)对起泡排序、直接排序、简单选择排序、快速排序、希尔排序、堆排序算法进行比较;
(2)待排序的元素的关键字为整数。
其中的数据要用伪随机产生程序产生(如10000个),至少用5组不同的输入数据做比较,再使用各种算法对其进行排序,记录其排序时间,再汇总比较。
(3)演示程序以人机对话的形式进行。
每次测试完毕显示各种比较指标值的列表,用饼图或条形图进行表示,以便比较各种排序的优劣。
(4)界面友好,易与操作。
采用菜单方式进行选择。
【选做内容】
(1)对不同表长进行比较;
(2)验证各算法的稳定性;
(3)输出界面的优化。
(4)使用汉字显示。
2、校园导游咨询
【问题描述】
设计一个校园导游程序,为来访的客人提供各种信息查询服务。
【基本要求】
(1)设计长春理工大学的校园平面图,所含景点不少于10个。
以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。
(2)为来访客人提供图中任意景点相关信息的查询。
(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。
【选做内容】
(1)系统功能的完善;
(2)提供求任意两个景点之间的所有路径的功能;
(3)提供校园图中多个景点的最佳访问路线查询,即求途经这多个景点的最佳(短)路径。
(4)使用汉字显示。
3、建通讯录
【问题描述】
设计散列表实现通讯录查找系统。
【基本要求】
(1)设每个记录有下列数据项:
电话号码、用户名、地址;
(2)从键盘输入各记录,分别以电话号码为关键字建立散列表;
(3)采用二次探测再散列法解决冲突;
(4)查找并显示给定电话号码的记录;
(5)通讯录信息文件保存;
(6)要求人机界面友好,使用图形化界面;
【选做内容】
(1)系统功能的完善;
(2)设计不同的散列函数,比较冲突率;
(3)
在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。
(4)使用汉字显示。
【实现提示】
主函数:
根据选单的选项调用各函数,并完成相应的功能。
Menu()的功能:
显示英文提示选单。
Quit()的功能:
退出选单。
Create()的功能:
创建新的通讯录。
Append()的功能:
在通讯录的末尾写入新的信息,并返回选单。
Find():
查询某人的信息,如果找到了,则显示该人的信息,如果没有则提示通讯录中没有此人的信息,并返回选单。
Alter()的功能:
修改某人的信息,如果未找到要修改的人,则提示通讯录中没有此人的信息,并返回选单。
Delete()的功能:
删除某人的信息,如果未找到要删除的人,则提示通讯录中没有此人的信息,并返回选单。
List()的功能:
显示通讯录中的所有记录。
Save()的功能:
保存通讯录中的所有记录到指定文件中。
Load()的功能:
从指定文件中读取通讯录中的记录。
4、哈夫曼编码/译码器
【问题描述】
设计一个哈夫曼编码/译码系统,对一个文本文件中的字符进行哈夫曼编码,生成编码文件(压缩文件,后缀名.cod);反过来,可将一个压缩文件译码还原为一个文本文件(.txt)。
【基本要求】
(1)输入一个待压缩的文本文件名,统计文本文件中各字符的个数作为权值,生成哈夫曼树;
(2)将文本文件利用哈夫曼树进行编码,生成压缩文件(后缀名cod),
(3)输入一个待解压的压缩文件名称,并利用相应的哈夫曼树将编码序列译码;
(4)显示指定的压缩文件和文本文件;
(5)界面友好,易与操作。
采用菜单方式进行选择。
【选做内容】
(1)把哈夫曼编码用二进制位紧缩到一个变量中,利用位运算进行真正的数据压缩,并求压缩比。
(2)显示哈夫曼树;
(3)使用汉字显示。
5、运动会分数统计
【问题描述】
参加运动会有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)可以按学校编号查询学校某个项目的情况;可以按项目编号查询取得前三或前五名的学校。
【基本要求】
1)输入数据形式和范围:
20以内的整数(如果做得更好可以输入学校的名称,运动项目的名称)
2)输出形式:
有中文提示,各学校分数为整形
3)界面要求:
有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。
4)存储结构:
学生自己根据系统功能要求自己设计,但是要求运动会的相关数据要存储在数据文件中。
6、文章编辑
【问题描述】
输入一页文字,程序可以统计出文字、数字、空格的个数。
【基本要求】
静态存储一页文章,每行最多不超过80个字符,共N行;要求
(1)分别统计出其中英文字母数和空格数及整篇文章总字数;
(2)统计某一字符串在文章中出现的次数,并输出该次数;
(3)删除某一子串,并将后面的字符前移。
存储结构使用线性表,分别用几个子函数实现相应的功能;
输入数据的形式和范围:
可以输入大写、小写的英文字母、任何数字及标点符号。
输出形式:
(1)分行输出用户输入的各行字符;
(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"
【选做内容】
(1)输出删除某一字符串后的文章;
7、学生成绩管理系统
【问题描述】
用c语言编写一个简单的学生信息管理程序,能实现对学生信息的简单管理。
【具体要求】
建立一个4个学生的信息登记表,每个学生的信息包括:
学号,姓名,和3门课程的成绩(FOX,C,ENGLISH)。
程序运行时显示一个简单的菜单,例如:
(1):
信息输入(INPUT)
(2):
总分统计(COUNT)
(3):
总分排序(SORT)
(4):
查询(QUERY)
其中:
(1):
对4个学生的信息进行输入;
(2):
对每个学生的3门课程统计总分;
(3):
对4个学生的总分按降序排序并显示出来;
(4):
查询输入一个学号后,显示出该学生的有关信息;
8、回溯法背包问题的求解
【问题描述】
假设有一个能装入总体积为T的背包和n件体积分别为w1,w2,…,wn的物品,能否从n件物品中挑选若干件恰好装满背包,即使w1+w2+…+wn=T,要求找出所有满足上述条件的解。
例如:
当T=10,各件物品的体积{1,8,4,3,5,2}时,可找到下列4组解:
(1,4,3,2),(1,4,5),(8,2),(3,5,2)。
【基本要求】
(1)随机产生n件物体的重量;
(2)设计解决问题的回溯算法;
(3)通过对栈的操作实现算法。
【选做内容】
输出界面优化。
【报告内容】
(1)用树状图描述回溯法求解过程;
(2)以图示方式描述求得一个解的堆栈变化过程。
【提示】
首先将物品排成一列,然后顺序选取物品装入背包,假设已选取了前i件物品之后背包还没有装满,则继续选取第i+1件物品,若该件物品"太大"不能装入,则弃之而继续选取下一件,直至背包装满为止。
但如果在剩余的物品中找不到合适的物品以填满背包,则说明"刚刚"装入背包的那件物品"不合适",应将它取出"弃之一边",继续再从"它之后"的物品中选取,如此重复直至求得满足条件的解,或者无解。
9、队列模拟管理
患者到医院看病的顺序是:
先排队等候,再看病治疗。
在排队的过程中主要重复做两件事情,一是患者到达诊室时,将病历交给护士,排到等候队列中候诊;二是护士从等候队列中取出下一个患者的病历,该患者进入诊室就诊。
在排队时按照“先到先服务”的原则,设计一个算法模拟病人等候就诊的过程。
其中“病人到达”用命令A(或a)表示,“护士让下一位患者就诊”用命令N(或n)表示,“不再接收病人排队”用Q(或q)表示。
数据可以有键盘录入、数据文件录入和随机生成三种形式。
【基本要求】
(1)实现队列的入队和出队操作;
(2)键盘输入命令序列;
(3)输出病患候诊人数和被治疗人数及顺序。
【选做内容】
文件输入(良)和随机输入(优),其中随机输入可考虑时间间隔为1~10之间的随机数。
10、教学计划编制问题
【问题描述】
大学的每个专业都要制定教学计划。
假设任何专业都有固定的学习年限,每学年含两学期,每学期的时间长度和学分上限值均相等,每个专业开设的课程都是确定的,而且课程在开设时间的安排必须满足先修关系。
每门课程有哪些先修课程是确定的,可以有任意多门,
也可以没有。
每门课恰好占一个学期。
试在这样的前提下设计一个教学计划编制程序。
【基本要求】
(1)输入参数包括:
学期总数,一学期的学分上限,每门课的课程号(固定占3位的字母数字串)、学分和直接先修课的课程号。
(2)允许用户指定下列两种编排策略之一:
一是使学生在各学期中的学习负担尽量均匀;二是使课程尽可能地集中在前几个学期中。
(3)若根据给定的条件问题无解,则报告适当的信息;否则将教学计划输出到用户指定的文件中。
计划的表格格式自行设计。
【测试数据】
学期总数:
6;学分上限:
10;该专业共开设12门课,课程号从C01到C12,学分顺序为2,3,4,3,2,3,4,4,7,5,2,3。
先修关系如下:
课程编号
课程名称
先决条件
C1
程序设计基础
无
C2
离散数学
C1
C3
数据结构
C1,C2
C4
汇编语言
C1
C5
语言的设计和分析
C3,C4
C6
计算机原理
C11
C7
编译原理
C5,C3
C8
操作系统
C3,C6
C9
高等数学
无
C10
线性代数
C9
C11
普通物理
C9
C12
数值分析
C9,C10,C1
[实现提示]
可设学期总数不超过12,课程总数不超过100。
如果输入的先修课程号不在该专业开设的课程序列中,则作为错误处理。
应建立内部课程序号与课程号之间的对应关系。
四、上交作业及成绩评定
1、上交要求
上交设计报告和相关光盘。
其中设计报告要以打印稿的形式上交。
光盘内容包括程序源码设计报告的电子文档。
整个班级的设计均刻在一张光盘上,可按姓名或分组建立相关文件夹进行存储。
2、评分标准
根据完成任务的情况(必须进行系统演示)、课程设计报告书的质量和课程设计过程中的工作态度等按照30%、50%、20%加权综合打分。
成绩评定实行优秀、良好、中等、及格和不及格五个等级。
上机程序检查未通过者、无设计报告者以及严重抄袭他人设计者,成绩为不及格。
缺席次数
最终成绩
1次
中及以下
2次及以上
不及格
注:
每班分为10个小组,每组3-4人。
设计题目:
(选题:
学号%10,余数为1、2、3、4、5、6、7、8、9、0分别做第1、2、3、4、5、6、7、8、9、10题)
每小组各同学之间设计内容和报告文档不得雷同,否则文档相同的同学,成绩都为不及格。
友情提示:
范文可能无法思考和涵盖全面,供参考!
最好找专业人士起草或审核后使用,感谢您的下载!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 使用 队列 实现 排队 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)