数据结构与算法任务书-总论

合集下载

数据结构与算法任务书-总论

数据结构与算法任务书-总论

算法与数据结构课程设计任务书(2014级软件工程本科专业)题目类型:软件工程(R)指导教师:李睿一.题目简介1.扫雷问题。

有些个人计算机会带有一个名为Minesweeper的游戏。

该游戏界面是一个网格,网格中的有些方块是雷。

编写一个程序以读取文件,该文件中存放着网格中的行数、列数以及网格本身。

网格会含有一些标记为o的方块,这些就是雷。

其他方块不是雷,将会标记上问号(?)。

程序的输出就是输出这个网格。

雷依然会标记成o,而那些不含雷的方块会替换成一个数字,以表明邻近雷的个数。

最大数字将是8。

(4)例如:1 5 52?o??? 2 2o2113o??o? 3 o33o24??o?o 4 34o4o5oo?o? 5 oo4o26?o??? 6 3o3112.求素数问题。

埃拉托色尼筛法(Sieve of Eratosthenes)是一种用来求所有小于N的素数的方法。

从建立一个整数2~N的表着手,寻找i˂错误!未找到引用源。

的整数,编程实现此算法,并讨论运算时间。

(1)3.方程求解问题。

方程A5+B5+C5+D5+E5=F5刚好有一个满足0≤A≤B≤C≤D≤E≤F≤75的整数解。

请编写一个求出该解的程序。

(3)4.最短字符串问题。

编写一个程序,从输入中读取字符串,并按长度顺序,最短字符串优先的原则输出它们。

如果有若干字符串具有相同的长度,就按字母顺序输出它们。

(3)5.计算1的个数问题。

编写递归程序,返回十进制数N的二进制表示中1的个数。

(2)6.排序重构问题。

令A为一个由N个已特殊排序数组成的数列:A1,A2,…,A N,其中A1=0。

令B为N(N-1)/2个数(定义为B ij=A i-A j(i>j))组成的数列。

例如,A=0,1,5,8,那么D=1,3,4,5,7,8。

请完成:1)编写程序,根据A构造D;2)编写程序,构造与D相对应的某一个数列A,注意A不是唯一的。

(4)7.占用网格计算问题。

考虑一个N*N的网格,其中某些方格已被占用。

《数据结构与算法实验》任务书

《数据结构与算法实验》任务书

《数据结构与算法实验》任务书《数据结构与算法实验》任务书实验一动态链表的设计与应用一、实验目的、要求1、掌握使用VC 6.0上机调试线性表的基本方法;2、掌握线性表的基本操作:插入、删除、查找以及线性表合并等运算在顺序存储结构和链式存储结构上的运算。

二、实验内容1.输入一组学生信息,建立一个单链表。

2.遍历该链表,输出学生信息。

3.查找某特定的学生,查找成功返回1,否则返回0。

4.编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。

5.利用算法4建立两个非递减有序单向链表,然后合并成一个非递增链表。

*6.采用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。

7.编写一个主函数,调试上述算法。

*8.综合训练:利用链表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等,并能够实现将数据存储到文件中)三、实验说明1.存储定义#define MAXSIZE 100 //表中元素的最大个数typedef int ElemType;//元素类型typedef struct list{ElemType elem[MAXSIZE];//静态线性表int length; //表的实际长度}SqList;//顺序表的类型名2.建立顺序表时可利用随机函数自动产生数据。

四、注意问题1.插入、删除时元素的移动原因、方向及先后顺序。

2.了解不同的函数形参与实参的传递关系。

一、实验目的、要求1.掌握栈、队列的思想及其存储实现。

2.掌握栈、队列的常见算法的程序实现。

二、实验内容1.采用链式存储实现栈的初始化、入栈、出栈操作。

2.采用顺序存储实现栈的初始化、入栈、出栈操作。

3.采用链式存储实现队列的初始化、入队、出队操作。

4.采用顺序存储实现循环队列的初始化、入队、出队操作。

5.在主函数中设计一个简单的菜单,分别测试上述算法。

*6.综合训练:1)利用栈实现表达式求值算法。

2013年算法与数据结构任务书

2013年算法与数据结构任务书

算法与数据结构课程设计任务书(2011级计算机科学与技术本科专业)题目:1.表达式转换问题;2.跳马问题。

学生姓名:姚孟斌学号:11240230 班级:2011级计算机科学与技术题目类型:软件工程(R)指导教师:王燕一.题目简介1.表达式转换问题。

请编写一个读取中缀表达式并生成后缀表达式的程序。

2.跳马问题。

要求在64个国际象棋格子,任意位置放一个马,如何不重复地把格子走完。

二、各题目的设计与实现要求1、查阅文献资料,一般在3篇以上;2、建立数据的逻辑结构和物理结构;3、完成相应算法的设计;4、完成程序的实现;5、完成测试工作;5、撰写设计说明书;6、做好答辩工作。

三、提交的成果1. 设计说明书一份,内容包括:1) 中文摘要100字;关键词3-5个;2) 序言;3)采用类c语言定义相关的数据类型4)各模块流程图及伪码算法5)函数的调用关系图6)调试分析a、调试中遇到的问题及对问题的解决方法;b、算法的时间复杂度和空间复杂度。

7)测试结果8)源程序(带注释)9) 设计总结、参考文献、致谢等。

2. 刻制光盘一张。

四、主要参考文献1 严蔚敏,吴伟民.《数据结构(C语言版)》.清华大学出版社.2 严蔚敏,吴伟民.《数据结构题集(C语言版)》.清华大学出版社.3 《DATA STRUCTURE WITH C++》. William Ford,William Topp.清华大学出版社(影印版).4 谭浩强.《c语言程序设计》. 清华大学出版社.5.数据结构与算法分析(Java版), A Practical Introduction to Data Structures and Algorithm Analysis Java Edition Clifford A. Shaffer , 张铭,刘晓丹译电子工业出版社2001 年1月五、各阶段时间安排(共3周)2013年6月30日。

数据结构与算法课程设计教学任务书

数据结构与算法课程设计教学任务书

《数据结构与算法》课程设计教学任务书一、课程设计的目的数据结构与算法课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。

数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。

学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。

通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。

通过此次课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

二、课程设计的基本要求1. 独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。

2. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。

3. 按照课程设计的具体要求建立功能模块,要求按照如下几个内容认真完成:1)需求分析:在该部分中叙述,所选课题的功能要求。

2)概要设计:在此说明所选课题的功能模块,以及每个功能模块的算法设计(可以是描述算法的功能模块图),所选课题的的数据结构以及其存储结构设计说明等。

(如果指定存储结构请写出该存储结构的定义)3)详细设计:针对2)中的主要功能模块,画出流程图,给出主要功能模块的流程图、算法及必要的文字说明)4)编码实现:给出3)中主要功能模块的函数实现,重点是函数的声明,变量或参数的说明,以及程序的功能说明与注释,不必把所有代码都写上,主要写出其声明与注释等。

数据结构与算法课程设计任务书

数据结构与算法课程设计任务书

数据结构与算法课程设计任务书使用时间:2011-2012学年第2学期一、课程设计目的本课程设计的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。

二、课程设计题目共10题,每个学生一题,单独完成。

(选法为根据学生所在班级名册的自然顺序,第1-12名同学分别做第1到第12题,然后循环,第13-24名同学分别做第1到第12题,依次类推。

)1、银行业务活动的模拟任务:假设某银行有4个窗口对外接待客户,从早晨银行开门起不断有客户进入银行,由于每个窗口在某个时刻只能接待一个客户。

因此在客户人数众多时需要在每个窗口前顺次排队,对于刚进入银行的客户。

如果某个窗口的业务员正空闲,则可上前输业务。

反之,若个窗口均有客户所占,他便会排在为数最少的队伍后面。

编制一个程序模拟银行的这种业务活动并计算一天中客户在银行的平均逗留时间。

功能要求:1).实现数据的输入;2).各个窗口数据的访问和输出;3)当前窗口的人员分布情况动态显示。

界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。

存储结构:学生自己根据系统功能要求自己设计。

请在最后的上交资料中指明你用到的存储结构;测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。

进行程序测试,以保证程序的稳定。

测试数据及测试结果请在上交的资料中写明;2、航班订票系统任务:通过此系统可以实现如下功能:1)、录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)2)、查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;3)、订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;4)、退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

数据结构课程设计任务书

数据结构课程设计任务书

数据结构与算法课程设计任务书1.课程设计考核要求设计要求每位同学都必须独立完成课程设计内容。

支持借鉴和学习已有的优秀知识。

反对全盘拷贝,不求甚解。

吸收和消化他人经验,做自己的课程设计。

自学能力的培养:学会上网查资料、解决问题。

考核方法第一部分(20%):平时成绩第一部分(50%):实物演示演示完成的系统,并回答老师的问题。

第二部分(30%):报告提交1 课程设计报告,内容包括参考文献分析、方案设计、程序清单(附注释)、调试记录(碰到的问题和解决方案)以及课程设计心得。

报告封面和模板参见附录。

2.课程设计进度表附1 对课程设计提交内容的要求(1)请同学独立完成报告,若发现两份报告一模一样,则两人都记为不及格,请各位同学珍惜自己的版权。

(2)课程设计报告用A4纸打印,在左侧面装订,报告内容不得少于15页。

(3)提交材料:1、课程设计报告的打印件,装订好,第16周课题验收时提交;2、压缩文件起名为:学号.rar。

该压缩文件中包含下列几个文件:程序设计报告的电子文档、源程序文件、原始数据文件、编译链接后得到的可执行文件。

班长于第16周周日之前提交所有同学的压缩文件。

附2课程设计上机安排表2017年5月27日第二-五节课上午8:50-12:152015年6月1日第二-九节课上午8:50-12:15,下午1:45-5:102017年6月2日第六-九节课下午1:45-5:102017年6月3日第二-五节课上午8:50-12:15实物验收:6月13日下午附3成绩的评定根据上机出勤情况、为上机所作的准备情况、上机时的表现、程序的完成情况、报告的完成情况、验收答辩时的表现等综合打分。

等级为:优秀、良好、中等、及格、不及格。

附4 课程设计报告封面课程设计报告( / 学年第学期)题目:专业学生姓名班级学号指导教师指导单位日期附5课程设计报告模板课题题目(题目格式:宋体,3号,加粗,居中对齐)一、课题内容和要求(格式:宋体,4号,加粗,两端对齐)该部分可参考前面给出的问题描述再加以细化一些(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)二、需求分析(格式:宋体,4号,加粗,两端对齐)在该部分中叙述每个模块的功能要求(正文格式:宋体,小4号,不加粗,两端对齐,1.5倍行距)三、概要设计(格式:宋体,4号,加粗,两端对齐)在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义,如果用面向对象的方法,应该给出类中成员变量和成员函数原型声明)。

数据结构与算法课程设计教学任务书

数据结构与算法课程设计教学任务书

《数据结构与算法》课程设计教学任务书一、课程设计的目的数据结构与算法课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。

数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。

学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。

通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。

通过此次课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。

二、课程设计的基本要求1. 独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。

2. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。

3. 按照课程设计的具体要求建立功能模块,要求按照如下几个内容认真完成:1)需求分析:在该部分中叙述,所选课题的功能要求。

2)概要设计:在此说明所选课题的功能模块,以及每个功能模块的算法设计(可以是描述算法的功能模块图),所选课题的的数据结构以及其存储结构设计说明等。

(如果指定存储结构请写出该存储结构的定义)3)详细设计:针对2)中的主要功能模块,画出流程图,给出主要功能模块的流程图、算法及必要的文字说明)4)编码实现:给出3)中主要功能模块的函数实现,重点是函数的声明,变量或参数的说明,以及程序的功能说明与注释,不必把所有代码都写上,主要写出其声明与注释等。

【VIP专享】算法与数据结构课程设计任务书

【VIP专享】算法与数据结构课程设计任务书

《算法与数据结构课程设计任务书》经济管理学院2012-12西安工业大学经济管理学院《算法与数据结构》课程设计任务书设计题目一元多项式计算器已知技术参数和设计要求基本功能定为(1) 输入并建立多项式(2) 输出多项式,输出形式为整数序列:n,c1,e1,c2,e2,.....,Cn,en,其中n 是多项式的相数,Ci和Ei分别是第i项的系数和指数,序列按指数降序排列(3) 两个多项式相加,建立并输出和多项式(4) 两个多项式相减,建立并输出差多项式(5) 两个多项式相乘, 建立乘积多项式实现提示:用带表头结点的单链表存储多项式设计内容与步骤1、结点结构的设计2、算法设计与分析3、程序设计、实现、调试4、课程设计说明书设计工作计划与进度安排周1:资料查询与方案设计周2-周4:算法设计与调试1、周5:答辩并撰写课程设计说明书设计考核要求1、考勤20%2、课程设计说明书50%3、答辩30%西安工业大学经济管理学院《算法与数据结构》课程设计任务书设计题目排序综合已知技术参数和设计要求利用随机函数产生N个随机整数(20000以上),对这些数进行多种方法进行排序。

要求:1)至少采用三种方法实现上述问题求解(提示,可采用的方法有插入排序、希尔排序、起泡排序、快速排序、选择排序、堆排序、归并排序)。

并把排序后的结果保存在不同的文件中。

2)统计每一种排序方法的性能(以上机运行程序所花费的时间为准进行对比),找出其中两种较快的方法。

如果采用4种或4种以上的方法者,可适当加分。

设计内容与步骤1、数据结构的设计2、算法设计与分析3、程序设计、实现、调试4、课程设计说明书设计工作计划与进度安排周1:资料查询与方案设计周2-周4:算法设计与调试周5:答辩并撰写课程设计说明书设计考核要求1、考勤20%2、课程设计说明书50%3、答辩30%西安工业大学经济管理学院《算法与数据结构》课程设计任务书设计题目小型图书馆管理系统(链表的插入,排序,查询,删除)已知技术参数和设计要求创建一个图书馆管理系统,可进行还书(插入),排序,查找,借书(删除)操作。

数据结构与算法课程设计任务书

数据结构与算法课程设计任务书

数据结构与算法课程设计任务书一、目的和意义课程设计是课程教学中的一项重要内容,是完成教学计划达到教学目标的重要环节,是教学计划中综合性较强的实践教学环节,它对帮助学生全面牢固地掌握课堂教学内容、培养学生的实践和实际动手能力、提高学生全面素质具有重要的意义。

学好数据结构对掌握实际编程能力很有帮助。

为了学好《数据结构》,必须掌握编写一些在特定数据结构上的算法,并通过上机调试,更好地掌握各种数据结构及其特点,《数据结构》课程设计正是根据这种需要而设置的。

本课程设计应达到以下教学目的:1.使学生对于数据结构基本理论和存储结构及算法设计有更加深入的理解;2.提高学生在实际设计操作中系统分析、结构确定、算法选择、数学建模和信息加工的能力;3.训练综合运用所学知识处理实际问题的能力;使同学的程序设计与调试水平有一个明显的提高,提高学生的C/C++语言程序设计能力。

二、选题要求选题要符合本课程的教学要求,课程设计所安排的题目,在难度和深度方面都大于课内的上机训练,成果宜具有相对完整功能。

本课程设计要求学生完成典型问题的数据结构确立和程序实现。

整个数据结构的课设历时一周。

三、任务及要求1.任务------赫夫曼编码/译码器利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。

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

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

本课程设计实现这样的信息收发站,编写一个哈夫曼码的编/译码系统。

2.要求一个完整的系统应具有以下功能:1)初始化。

从终端读入字符集大小n,以及n个字符和n个权值,建立哈夫曼树,并将它存于文件hfmTree.txt中。

2)编码。

利用已建好的哈夫曼树,对文件ToBeTra.txt中的正文进行编码,然后将结果存入文件CodeFil.txt中。

3)译码。

利用已建好的哈夫曼树将文件CodeFile.txt中的代码进行译码,结果存入文件Textfile.txt中。

数据结构课程设计任务书

数据结构课程设计任务书

数据结构与算法课程设计任务书一.数据结构与算法课程设计的目的和要求(一)设计的目的数据结构与算法课程设计是在学完数据结构与算法课程之后的实践教学环节。

该实践教学是软件设计的综合训练,包括问题分析、总体结构设计、用户界面设计、程序设计基本技能和技巧。

要求学生在设计中逐步提高程序设计能力,培养科学的软件工作方法。

学生通过数据结构课程设计在下述各方面得到锻炼:1.能根据实际问题的具体情况,结合数据结构与算法课程中的基本理论和基本算法,正确分析出数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法。

2.提高程序设计和调试能力。

学生通过上机实习,验证自己设计的算法的正确性。

学会有效利用基本调试方法,迅速找出程序代码中的错误并且修改。

3.培养算法分析能力。

分析所设计算法的时间复杂度和空间复杂度,进一步提高程序设计水平。

(二)设计要求1.学生必须仔细阅读《数据结构与算法》课程设计方案,认真主动完成课设的要求。

有问题及时主动通过各种方式与教师联系沟通。

2.学生要发挥自主学习的能力,充分利用时间,并在课设过程中不断检测自己的计划完成情况,及时向教师汇报。

3.课程设计按照教学要求需要一周时间完成,属教师安排上机时间学生不得缺席。

二.设计内容及步骤1.分析问题,给出数学模型,设计相应的数据结构。

(1)分析问题的特点,用数学表达式或其它形式描述其数学模型。

(2)选择能够体现问题本身特点的逻辑结构。

(3)在逻辑结构确定的情况下,为算法的设计选择相应的存储结构,顺序存储结构和非顺序存储结构的不同存储方式,其对应的算法也不相同。

2.算法设计在已经选择好数据结构的前提下,为解决问题设计算法。

(1)确定所需模块对于稍复杂的程序设计,要充分利用模块化程序设计方法,自顶向下,逐步细化,在整体思路确定的情况下,考虑所需模块数,各模块完成功能以及模块之间的数据联系和调用关系。

(2)各子模块功能描述给出主要模块的算法描述,用流程图或伪代码表示。

1006401《数据结构》课程设计任务书

1006401《数据结构》课程设计任务书

封面作者:Pan Hongliang仅供个人学习1006401《数据结构》课程设计任务书一、设计目地1.了解并掌握数据结构与算法地设计方法,具备初步地独立分析和设计能力;2.初步掌握软件开发过程地问题分析、系统设计、程序编码测试等基本方法和技能;3.提高综合运用所学地理论知识和方法独立分析和解决问题地能力;4.训练用系统地观点和软件开发一般规范进行软件开发,培养软件工作者所应具备地科学地工作方法和作风.《数据结构》是一门实践性较强地软件基础课程,为了学好这门课程,必须在掌握理论知识地同时,加强上机实践.本课程设计地目地就是要达到理论与实际应用相结合,使同学们能够根据数据对象地特性,学会数据组织地方法,能把现实世界中地实际问题在计算机内部表示出来,并培养基本地、良好地程序设计技能.二、设计地点湖南城市学院实验楼计算机房403三、设计时间2012年6月4日——6月8日四、设计分组(26人)五、指导教师:陈强设计课题:1.学校超市选址问题要求:对于某一学校超市,其他各单位到其地距离不同,同时各单位人员去超市地频度也不同.请为超市选址,要求实现总体最优.2.通讯录地制作模块要求:第一个模块——主函数main()地功能是:根据选单地选项调用各函数,并完成相应地功能.第二个模块——Menu()地功能是:显示英文提示选单.第三个模块——Quit()地功能是:退出选单.第四个模块——Create()地功能是:创建新地通讯录.第五个模块——Add()地功能是:在通讯录地末尾,写入新地信息,并返回选单.第六个模块——Find()地功能是:查询某人地信息,如果找到了,则显示该人地信息,如果未找到,则提示通讯录中没有此人地信息,并返回选单.第七个模块——Alter()地功能是:修改某人地信息,如果未找到要修改地人,则提示通讯录中没有此人地信息,并返回选单.第八个模块——Delete()地功能是:删除某人地信息,如果未找到要删除地人,则提示通讯录中没有此人地信息,并返回选单.第九个模块——List()地功能是:显示通讯录中地所有记录.;设计要求:1)每条信息至包含:姓名(NAME)、性别(GENDER)、电话(TEL)、城市(CITY)邮编(EIP)几项.2)作为一个完整地系统,应具有友好地界面和较强地容错能力3.图书管理系统设计一个计算机管理系统完成图书管理基本业务.【基本要求】1)每种书地登记内容包括书号、书名、著作者、现存量和库存量;2)对书号建立索引表(线性表)以提高查找效率;3)系统主要功能如下:*采编入库:新购一种书,确定书号后,登记到图书帐目表中,如果表中已有,则只将库存量增加;*借阅:如果一种书地现存量大于0,则借出一本,登记借阅者地书证号和归还期限,改变现存量;*归还:注销对借阅者地登记,改变该书地现存量.【进一步完成内容】1)系统功能地进一步完善;2)索引表采用树表.3)设计内容4)程序流程图5)源程序6)软件测试报告(包括所用到地数据及结果)4.图书借阅管理系统主要分为两大功能:1)图书管理(增加图书、查询图书、删除图书、图书借阅、还书);2)会员管理(增加会员、查询会员、删除会员、借书信息);5.学生成绩管理实现功能:输入、输出、插入、删除、查找、追加、读入、显示、保存、拷贝、排序、索引、分类合计、退出.6.散列法地实验研究散列法中,散列函数构造方法多种多样,同时对于同一散列函数解决冲突地方法也可以不同.两者是影响查询算法性能地关键因素.对于几种典型地散列函数构造方法,做实验观察,不同地解决冲突方法对查询性能地影响.7.树地应用实现树与二叉树地转换地实现.以及树地前序、后序地递归、非递归算法,层次序地非递归算法地实现,应包含建树地实现.8.数制转换问题任意给定一个M进制地数x,请实现如下要求1)求出此数x地10进制值(用MD表示)2)实现对x向任意地一个非M进制地数地转换.3)至少用两种或两种以上地方法实现上述要求(用栈解决,用数组解决,其它方法解决). 9.顺序结构、动态链表结构下地一元多项式地加法、减法、乘法地实现设有一元多项式Am(x)和Bn(x).Am(x)=A0+A1x1+A2x2+A3x3+…+AmxmBn(x)=B0+B1x1+B2x2+B3x3+…+Bnxn请实现求M(x)=Am(x)+Bn(x)、M(x)=Am(x)-Bn(x)和M(x)=Am(x)×Bn(x).要求:1)首先判定多项式是否稀疏2)分别采用顺序和动态存储结构实现;3)结果M(x)中无重复阶项和无零系数项;4)要求输出结果地升幂和降幂两种排列情况10.宿舍管理查询软件为宿舍管理人员编写一个宿舍管理查询软件,程序要求采用交互工作方式,并建立相应地数据文件.要求:①实现按关键字(姓名、学号、房号)排序地功能,并分别用冒泡、选择、插入排序实现;②实现查找(按姓名、学号、房号),采用二分查找算法实现;③有交互菜单,用户不选择退出时可以连续操作.11.文章编辑功能:输入一页文字,程序可以统计出文字、数字、空格地个数.静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现地次数,并输出该次数;(3)删除某一子串,并将后面地字符前移.存储结构使用线性表,分别用几个子函数实现相应地功能;输入数据地形式和范围:可以输入大写、小写地英文字母、任何数字及标点符号.输出形式:(1)分行输出用户输入地各行字符;(2)分4行输出"全部字母数"、"数字个数"、"空格个数"、"文章总字数"(3)输出删除某一字符串后地文章.12.稀疏矩阵实现与应用要求:实现三元组、十字链表下地稀疏矩阵地加、转、乘地实现.13.线索二叉树地应用要求实现线索树建立、插入、删除、恢复线索地实现.14.纸牌游戏任务:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2地倍数地牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3地倍数地牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4地倍数地牌翻一次,直到最后一张牌;...再依次5地倍数地牌翻一次,6地,7地直到以52为基数地翻过,输出:这时正面向上地牌有哪些?15.表达式翻译要求:编写完整程序,将不包含括号地算术中缀表达式翻译成后缀表达式.输入:中缀表达式,80个字符以内.输出:转换后地后缀表达式.要求:界面友好,函数功能要划分好16.简单地职工管理系统1.问题描述对单位地职工进行管理,包括插入、删除、查找、排序等功能.2.要求职工对象包括姓名、性别、出生年月、工作年月、学历、职务、住址、电话等信息.(1)新增一名职工:将新增职工对象按姓名以字典方式职工管理文件中.(2)删除一名职工:从职工管理文件中删除一名职工对象.(3)查询:从职工管理文件中查询符合某些条件地职工.(4)修改:检索某个职工对象,对其某些属性进行修改.(5)排序:按某种需要对职工对象文件进行排序.3.实现提示职工对象数不必很多,便于一次读入内存,所有操作不经过内外存交换.(1)由键盘输入职工对象,以文件方式保存.程序执行时先将文件读入内存.(2)对职工对象中地"姓名"按字典顺序进行排序.(3)对排序后地职工对象进行增、删、查询、修改、排序等操作.4.选做内容将职工对象按散列法存储,并设计解决冲突地方法.在此基础上实现增、删、查询、修改、排序等操作.17.校园导航问题设计要求:设计你地学校地平面图,至少包括10个以上地场所,每两个场所间可以有不同地路,且路长也可能不同,找出从任意场所到达另一场所地最佳路径(最短路径).1、基本要求:1)设计校园平面图,在校园景点选10个左右景点.以图中顶点表示校园内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等有关信息.2)为来访客人提供图中任意景点相关信息地查询.3)为来访客人提供任意景点地问路查询,即查询任意两个景点之间地一条最短路径.2、实现提示:一般情况下,校园地道路是双向通行地,可设计校园平面图是一个无向网.顶点和边均含有相关信息.18.学生成绩管理系统现有学生成绩信息文件1(1.txt),内容如下姓名学号语文数学英语张明明01677882李成友02789188张辉灿03688256王露04564577陈东明05673847….......…学生成绩信息文件2(2.txt),内容如下:姓名学号语文数学英语陈果31576882李华明32889068张明东33484256李明国34504587陈道亮35475877….......…试编写一管理系统,要求如下:1)实现对两个文件数据进行合并,生成新文件3.txt2)抽取出三科成绩中有补考地学生并保存在一个新文件4.txt3)对合并后地文件3.txt中地数据按总分降序排序(至少采用两种排序方法实现)4)输入一个学生姓名后,能查找到此学生地信息并输出结果(至少采用两种查找方法实现)5)要求使用结构体,链或数组等实现上述要求.6)采用多种方法且算法正确者,可适当加分19.学校超市选址问题设计要求:对于某一学校超市,其他各单位到其地距离不同,同时各单位人员去超市地频度也不同.请为超市选址,要求实现总体最优.20.字符串操作基本功能要求:(1)字符串采用数组存储,建立两个字符串String1和String2.输出两个字符串.(2)将字符串String2地头n个字符添加到String1地尾部.输出结果.(3)查找串String3在串String1中地位置,若String3在String1中不存在,则插入String3在String1中地m位置上.输出结果.测试数据:(1)String1: “typedefstructArcBox”String2: “VertexTypedata”String3: “data”n:6,m:7(2)String1: “structArcBox”String2: “VertexType”String3: “Box”n:3,m:321.一元稀疏多项式计算器要求:设计一个一元多项式加法器.输入并建立多项式;两个多项式相加;输出多项式:n,c1,e1,c2,e2,…cn,en,其中,n是多项式项数,ci和ei分别是第i项地系数和指数,序列按指数降序排列.计算多项式在x处地值22.利用Hash技术统计C源程序中关键字地频度扫描一个C源程序,用Hash表存储该程序中出现地关键字,并统计该程序中地关键字出现地频度.用线性探测法解决Hash冲突.设Hash函数为:Hash(Key)=[(Key地首字母序号)*100+(Key地尾字母序号)] Mod 41.关键字39个(参考C语言教材).23.学生搭配问题一班有m个女生,有n个男生(m不等于n),现要开一个舞会.男女生分别编号坐在舞池地两边地椅子上.每曲开始时,依次从男生和女生中各出一人配对跳舞,本曲没成功配对者坐着等待下一曲找舞伴.请设计一系统模拟动态地显示出上述过程,要求如下:输出每曲配对情况计算出任何一个男生(编号为X)和任意女生(编号为Y),在第K曲配对跳舞地情况.至少求出K地两个值.尽量设计出多种算法及程序,可视情况适当加分.(提示:用队列来解决比较方便)24.人事管理系统:每个员工地信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等.以二叉排序树形式存储员工信息,完成员工信息地查询、更新、插入、删除等功能.功能要求:(1)查询:按特定条件查找员工.(2)更新:按编号对某个员工地某项信息进行修改.(3)插入:加入新员工地信息.(4)删除:按编号删除已离职地员工地信息25.猴子选大王任务:一堆猴子都有编号,编号是1,2,3 ...m ,这群猴子(m个)按照1--m地顺序围坐一圈,从第1开始数,每数到第N个,该猴子就要离开此圈,这样依次下来,直到圈中只剩下最后一只猴子,则该猴子为大王.要求:输入数据:输入m,n. m,n 为整数,n<m输出形式:中文提示按照m个猴子,数n 个数地方法,输出出队猴子地先后顺序(编号),最后输出为大王地猴子地编号.(建立一个函数来实现此功能)26.商店存货管理系统功能:建立一商店存货管理系统,要求每次出货时取进货时间最早且最接近保质期中止时间地货物.分步实施:1.初步完成总体设计,搭好框架,确定人机对话地界面,确定函数个数;2.完成最低要求:建立一个文件,包括5个种类地货物情况,能对商品信息进行扩充(追加),修改和删除以及简单地排序;3.进一步要求:扩充商品数量,以及完成系统查询功能.有兴趣地同学可以自己扩充系统功能.版权申明本文部分内容,包括文字、图片、以及设计等在网上搜集整理。

数据结构与算法课程设计任务书

数据结构与算法课程设计任务书

数据结构与算法课程设计任务书一、课程设计目的数据结构与算法课程设计是一门重要的实践教学环节,其目的在于加深学生对数据结构和算法基本概念的理解,培养学生运用所学知识解决实际问题的能力,提高学生的编程技能和创新思维。

通过课程设计,学生将能够更加熟练地掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、查找、递归、贪心、动态规划等),并将其应用到实际的程序设计中。

二、课程设计要求1、学生需独立完成课程设计任务,不得抄袭他人成果。

2、课程设计的题目应具有一定的综合性和挑战性,能够涵盖所学的数据结构和算法知识。

3、学生在设计过程中应注重程序的正确性、可读性和可维护性,合理选择数据结构和算法,优化程序性能。

4、学生需按照规定的格式撰写课程设计报告,报告内容应包括问题描述、算法设计、程序实现、测试结果及分析等。

三、课程设计题目题目 1:学生成绩管理系统设计一个学生成绩管理系统,能够实现以下功能:1、录入学生的基本信息(学号、姓名、课程名称、成绩)。

2、按照学号、课程名称等关键字进行查找和排序。

3、计算每个学生的平均成绩,并按照平均成绩进行排序。

4、统计每门课程的不及格人数和优秀人数(85 分及以上为优秀)。

题目 2:公交线路查询系统设计一个公交线路查询系统,能够实现以下功能:1、录入公交线路的起点、终点、途经站点等信息。

2、根据用户输入的起点和终点,查询可行的公交线路。

3、考虑换乘情况,给出最优的公交线路方案(换乘次数最少、行程时间最短等)。

题目 3:文本文件处理系统设计一个文本文件处理系统,能够实现以下功能:1、读取文本文件,并将文件中的内容存储到合适的数据结构中。

2、统计文件中单词的出现频率,并按照频率降序排列。

3、查找指定的单词或字符串在文件中的位置。

4、对文件内容进行加密和解密操作。

题目 4:迷宫求解系统设计一个迷宫求解系统,能够实现以下功能:1、生成一个随机的迷宫。

2、采用深度优先搜索或广度优先搜索算法求解迷宫的路径。

《数据结构与算法课程设计》任务书2014

《数据结构与算法课程设计》任务书2014

2014/2015学年第一学期《数据结构与算法课程设计》任务书一、课程设计目的数据结构与算法课程设计是《数据结构与算法》课程教学必不可缺的一个重要环节,它可加深学生对该课程所学内容的进一步的理解与巩固,是将计算机课程与实际问题相联接的关键步骤。

通过课程设计,能够提高学生分析问题、解决问题,从而运用所学知识解决实际问题的能力,因而必须给予足够的重视。

2二、课程设计题目2.1 棋盘覆盖【间题描述】在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。

在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。

【基本要求】(1)输入k以及特殊方格所在的行号dr和特殊方格的列号dc。

(2)要求输出每一步用什么形态L型骨牌覆盖,覆盖后得到的棋盘图形。

(3)如果输出的结果只是用矩阵表示则为良好,用图形表示则为优。

【测试数据】【实现提示】使用分治策略,把棋盘划分成4个小棋盘,然后用一个L型骨牌覆盖将这4个小棋盘变为都具有特殊方格的棋盘。

2.2 Hanoi塔问题(*)【问题描述】设a,b,c是三个塔座。

开始时,在塔座a上有一叠共n个圆盘,这些圆盘自下而上,由大到小地叠放在一起,各圆盘从小到大编号为1,2,…,n,要求将塔座a上的这一叠圆盘移到塔座b上,并仍按同样顺序叠置。

在移动圆盘时应遵守以下移动规则:规则(1)每次只能移动一个圆盘;规则(2)任何时刻都部允许将较大的圆盘压在较小的圆盘之上;规则(3)在满足移动规则(1)和(2)的前提下,可将圆盘移至a,b,c中任一塔座上。

【基本要求】(1)设计出Hannoi塔游戏,供用户玩;(2)提供正确的搬运方法。

【实现说明】正确的搬运方法使用递归方法实现。

【测试数据】2.3 矩阵连乘问题【问题描述】给定n 个矩阵{12,,...,n A A A },其中i A 和1i A 是可乘的,i =1,2,…,n-1。

数据结构综合实验任务书-总

数据结构综合实验任务书-总

数据结构综合实验任务书本次课程设计安排在第19周,教师提供了26道选题,按照题目的难易程序度分为一类、二类及三类,一类选题9个,难度稍高,二类选题5个,难度中等,三类选题12个,难度较低。

根据自身情况选题,必须保证自己完成。

自选题必须事先由教师看过并同意才可以做。

选题原则上一人一组形式进行。

课程设计按照软件工程的步骤进行,先写出需求分析,再进行概要设计和详细。

基本要求是给出题中所涉及的数据的逻辑结构、存储结构、算法核心设计流程、输入输出、源程序、测试数据及结果,并在总结部分给出设计及实现过程中出现的问题及解决思路,探讨算法的改进方法。

系统实现在Visual C++控制台环境下实现,要求有简单界面的设计,课程设计最后以设计报告及软件形式提交,设计报告按照指导书的要求编写。

课程设计从学习态度、程序运行及答辩情况、文档写作情况分项打分,学习态度包括考勤及投入情况,程序运行考查编码的独立完成情况、程序的执行情况及工作量大小,文档的写作包括需求分析文档的写作,概要设计和详细设计情况以及数据结构的定义情况等等。

课程设计第一天,必须写出需求分析和概要设计。

课程设计任务书一类题(9个):NO. 11、题目:工程求解2、设计内容及要求:✧内容:一个工程上的关键活动直接影响着整个工程的进展情况,要求实现关键路径上问题的求解。

✧要求:(1)画出AOE网,以边表示子工程,顶点表示子工程的开始和结束,边上权值表示子工程完成需要的时间,整个工程一个开始点,一个结束点。

在计算机上以邻接表存储该AOE网。

(2)输出工期和影响工程进展的关键活动。

编程实现基本要求。

NO. 21、题目:哈夫曼编码/译码器的设计与实现2、设计内容及要求:✧内容:信息在通讯线路中是以编码形式进行传输的,在接收端采取一种译码的机制将信息“译”出来。

✧要求:(1)对下表所示字符及频度,建立哈夫曼树;(2)输出每个字符的编码;(3)利用哈夫曼树,对输入的报文进行编码,并将结果显示出来;(4)利用哈夫曼树,对输入的译文进行译码。

《数据结构与算法分析课程设计》任务书2012版

《数据结构与算法分析课程设计》任务书2012版

2012级数据结构与算法分析课程设计任务书
(适应于2012级软件工程专业12201801-3,12201807-9班)
一、课程设计的目的与要求
1.教学目的
《数据结构与算法设计》课程设计是软件工程、网络工程、数字媒体技术专业学生的重要实践性环节。

通过本课程设计,学生可以了解数据结构、算法设计的基本方法与基本原理,掌握软件设计中数据的组织,算法的设计,为今后从事实际工作打下基础。

同时,作为整个实践教学体系一部分,系统培养学生采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。

2.教学要求
从课程设计的目的出发,通过设计工作的各个环节,达到以下教学要求:
1.掌握各类基本数据结构及其实现;
2.掌握不同数据结构的实际应用;
3.培养利用数据结构并对实际应用问题进行算法设计的能力。

4.编程简练,程序功能齐全,能正确运行。

5.说明书、流程图要清楚,规范
6.课题完成后必须按要求提交课程设计报告,格式规范,内容详实。

二、课程设计的内容与安排。

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

算法与数据结构课程设计任务书(2014级信息与计算科学本科专业)学生姓名:学号:班级:2014级信息与计算科学题目类型:软件工程(R)指导教师:包仲贤一.题目简介1.扫雷问题。

有些个人计算机会带有一个名为Minesweeper的游戏。

该游戏界面是一个网格,网格中的有些方块是雷。

编写一个程序以读取文件,该文件中存放着网格中的行数、列数以及网格本身。

网格会含有一些标记为o的方块,这些就是雷。

其他方块不是雷,将会标记上问号(?)。

程序的输出就是输出这个网格。

雷依然会标记成o,而那些不含雷的方块会替换成一个数字,以表明邻近雷的个数。

最大数字将是8。

(4)例如:15 52?o??? 2 2o2113o??o? 3 o33o24??o?o 4 34o4o5oo?o? 5 oo4o26?o??? 6 3o3112.求素数问题。

埃拉托色尼筛法(Sieve of Eratosthenes)是一种用来求所有小于N的素数的方法。

从建立一个整数2~N的表着手,寻找i˂的整数,编程实现此算法,并讨论运算时间。

(1)3.方程求解问题。

方程A5+B5+C5+D5+E5=F5刚好有一个满足0≤A≤B≤C≤D≤E≤F≤75的整数解。

请编写一个求出该解的程序。

(3)4.最短字符串问题。

编写一个程序,从输入中读取字符串,并按长度顺序,最短字符串优先的原则输出它们。

如果有若干字符串具有相同的长度,就按字母顺序输出它们。

(3)5.计算1的个数问题。

编写递归程序,返回十进制数N的二进制表示中1的个数。

(2)6.排序重构问题。

令A为一个由N个已特殊排序数组成的数列:A1,A2,…,A N,其中A1=0。

令B为N(N-1)/2个数(定义为B ij=A i-A j(i>j))组成的数列。

例如,A=0,1,5,8,那么D=1,3,4,5,7,8。

请完成:a)编写程序,根据A构造D;b)编写程序,构造与D相对应的某一个数列A,注意A不是唯一的。

(4)7.占用网格计算问题。

考虑一个N*N的网格,其中某些方格已被占用。

如果两个方格共用公共的边,就说它们属于同一个组,如图示,一组为4个被占用的方格,3组为两个被占用的方格,2个方格被单独占用。

假设格子用二维数组来表示。

请编写实现下列目的程序:1)给定组中的某个方格,计算组的大小;2)计算不同组的数目;3)列出所有的组。

(4)8.递归替换问题。

编写程序,扩展C/C++源文件中的#include指令(以递归的方式)。

请以文件名的内容替换形如下面的代码行。

#include “filename”(3)9.数据删除问题。

编写删除具有N个数据项的数组A中所有重复项的程序,返回A中仍有的数据项。

要求运行时间在O(NlogN)。

(2)10.随机走步问题。

以下在x-y坐标系上进行的游戏属于二维的随机行走。

从原点(0,0)开始,每次迭代都是由向左、向上、向右和向下一个单位的随机步构成。

当行走者返回原始点时,行走结束。

在二维世界这种情况发生的概率为1,而在三维世界概率小于1。

请编写一个进行100次独立随机行走程序,并计算每个方向的步数的平均数。

(4)11.表达式转换问题。

请编写一个读取中缀表达式并生成后缀表达式的程序。

(2)12.表达式转换问题。

请编写一个读取后缀表达式并生成中缀表达式的程序。

(2)13.课程选修问题。

学生需要修一定数量的课程才能毕业,而这些课程会有一些必须遵循的选修顺序。

假设每个学期都开所有课程,并且学生所修课程数量不限制。

给出课程和先修课程的列表,求出一个满足最小学期数要求的时间表。

以你的专业情况为背景设计。

(3)14.通过单字符置换可以将一个单词改为另一个单词。

假设存在一个5字母单词的字典。

给出一个算法确定单词A是否可以通过一系列的单字符置换转换为单词B,并且如果可以的话,输出相应的单词序列。

例如,bleed通过序列bleed、blend、blond、blood转换为blood。

(4)15.编写一个以行为单位的文本编辑器。

内部文件的副本被保存成由各个行组成的链表。

为了能在文件中上移或下移,必须维护一个双链表。

大部分命令使用只有一个字符的字符串表示。

有些是两个字符,并且要求一个参数(或者两个)。

(6)16.跳马问题。

要求在64个国际象棋格子,任意位置放一个马,如何不重复地把格子走完。

(3)17.八皇后问题。

要求编写程序实现将八个皇后放置在国际象棋棋盘的无冲突的位置上的算法,并给出所有的解。

提示:在国际象棋上放置皇后时,任何一个皇后的水平、竖直和斜45º都不能有另一个皇后。

解决该问题采用逐次试探的方法,即采用递归调用putchess函数的方法。

首先将第一个皇后放于第一行第一列,然后开始向下一行递归。

每一步递归中,首先检测待放置位置是否与已放置的皇后冲突,如不冲突,则进行下一行的放置,否则,选择该行的下一个位置进行检测。

如整行的位置都冲突,则回到上一行,重新选择位置。

(2)18.猴子吃桃子问题。

有一群猴子摘了一堆桃子,他们每天都吃当前桃子的一半且再多吃一个,到了第10天就只余下一个桃子。

用多种方法实现求出原来这群猴子共摘了多少个桃子。

要求:1)采用数组数据结构实现上述求解;2)采用链式数据结构实现上述求解;3)采用递归实现上述求解。

(2)19.病人就医管理模拟问题。

编写一个程序定义行医类,反映病人到医院看病,排队看医生的情况,在病人排队过程中,主要发生两件事:(1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。

(2)护士从等待队列中取出一位病人的病历,该病人进入诊室就诊。

要求程序采用菜单方式,其选项及功能说明如下:(1)排队------输入病人的病历号,加入到病人排队队列中(2)就诊-------病人排队队列中最前面的病人就诊,并将其从队列中删除。

(3)查看排队------从队首到队尾列出所有的排队病人的病历号。

(4)下班---------退出运行。

(5)20.图的基本操作与实现。

(1)自选存储结构,输入含n个顶点(用字符表示顶点)和e条边的图G;(2)求每个顶点的度,输出结果;(3)指定任意顶点x为初始顶点,对图G作DFS遍历,输出DFS顶点序列(提示:使用一个栈实现DFS);(4)指定任意顶点x为初始顶点,对图G作BFS遍历,输出BFS顶点序列(提示:使用一个队列实现BFS);(5)输入顶点x,查找图G:若存在含x的顶点,则删除该结点及与之相关连的边,并作DFS遍历(执行操作3);否则输出信息“无x”;(6)判断图G是否是连通图,输出信息“YES”/“NO”;(7)如果选用的存储结构是邻接矩阵,则用邻接矩阵的信息生成图G的邻接表,即复制图G,然再执行操作(2);反之亦然。

(4)21.散列表的设计与实现。

设计散列表实现电话号码查找系统。

基本要求:(2)(1)设每个记录有下列数据项:电话号码、用户名、地址;(2) 从键盘输入各记录,分别以电话号码和用户名为关键字建立散列表;(3)采用双散列法解决冲突;(4)查找并显示给定电话号码的记录;(5) 查找并显示给定用户名的记录。

较高要求:(3)(1)系统功能的完善;(2)设计不同的散列函数,比较冲突率;(3)在散列函数确定的前提下,尝试各种不同类型处理冲突的方法,考察平均查找长度的变化。

22.队列实现的仿真技术预测理发馆的经营状况。

(5)问题描述:理发馆一天的工作过程如下:1) 理发馆有N把理发椅,可同时为N位顾客进行理发。

2) 理发师分三个等级(一级、二级、三级),对应不同的服务收费。

3) 当顾客进门时,需选择某级别理发师,只要该级别的理发师有空椅,则可立即坐下理发,否则需排队等候。

4) 一旦该级别的理发师有顾客理发完离去,排在队头的顾客便可开始理发。

5) 若理发馆每天连续营业T分钟,求:(1)一天内顾客在理发馆内的平均逗留时间;(2)顾客排队等候理发的队列长度平均值;(3)营业时间到点后仍需完成服务的收尾工作时间;(4)统计每天的营业额;(5)统计每天不同级别理发师的创收。

23.救护车调度模拟系统。

问题描述:设计实现一个用事件驱动的“救护车调度”离散模型,模拟120急救中心响应每个病人的呼救信号统一调度救护车运行的情况。

(5)对问题作适当简化,假设:某城市共有m个可能的呼救点(居民小区、工厂、学校、公司、机关、单位等),分布着n所医院(包含在m个点中),有k辆救护车分派在各医院待命,出现呼救病人时,由急救中心统一指派救护车接送至最近的医院救治。

救护车完成一次接送任务后即消毒,并回原处继续待命。

假定呼救者与急救中心、急救中心与救护车之间的通讯畅通无阻,也不考虑道路交通堵塞的影响。

可以用m个顶点的无向网来表示该城市的各地点和道路。

时间可以分钟为单位,路段长可表示为救护车行驶化费的分钟数。

24.稀疏矩阵的操作。

基本要求(4):定义稀疏矩阵的数据类型描述(三元组表),完成稀疏矩阵的加、减、乘和转置运算. 要求:1) 界面友好,函数功能要划分好;2) 总体设计应画流程图;3) 程序要加必要的注释;4) 要提供程序测试方案;25. 构造可以使n个城市连接的最小生成树。

问题描述:给定一个地区的n个城市间的距离网,用Prim算法或Kruskal算法建立最小生成树,并计算得到的最小生成树的代价。

(4)要求:1)城市间的距离网采用邻接矩阵表示,邻接矩阵的存储结构定义采用课本中给出的定义,若两个城市之间不存在道路,则将相应边的权值设为自己定义的无穷大值.要求在屏幕上显示得到的最小生成树中包括了哪些城市间的道路,并显示得到的最小生成树的代价。

2)表示城市间距离网的邻接矩阵(要求至少6个城市,10条边);3)最小生成树中包括的边及其权值,并显示得到的最小生成树的代价。

26. 长整数运算问题。

设计程序,实现两个任意长的整数的加、减、乘运算问题。

(4)27. 哈夫曼码的编/译码系统。

编写一个哈夫曼码的编/译码系统,实现对输入的文本信息自动统计并依此为依据建立一个哈夫曼码的编/译码系统。

(2)28. 集合运算问题。

设计一个程序,实现两个集合的并集、交集、差集、显示输出等,要求结果集合中的元素不重复;实现一个集合的幂集的求解。

(1)29. 排序算法比较问题。

设计各类排序算法的程序,通过随机的数据测试,比较各算法的关键字比较次数和关键字移动次数。

(2)30. 约瑟夫(Joeph)问题。

一种描述是:编号为1,2,…,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。

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

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

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

相关文档
最新文档