《2022年数据结构与算法课程设计教学任务书》由会员分享,可在线阅读,更多相关《2022年数据结构与算法课程设计教学任务书(6页珍藏版)》请在金锄头文库上搜索。
1、数据结构与算法课程设计教学任务书一、课程设计的目的数据结构与算法课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。 通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力
2、;初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;提高综合运用所学的理论知识和方法独立分析和解决问题的能力;训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。二、课程设计的基本要求1. 独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。2. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。3. 按照课程设计的具体要求建立功能模块,要求按照如下几个内容认真完成:1)需求分析:在该部分中叙述,所选课题的功能要求。2)概要设计
3、:在此说明所选课题的功能模块,以及每个功能模块的算法设计(可以是描述算法的功能模块图),所选课题的的数据结构以及其存储结构设计说明等。(如果指定存储结构请写出该存储结构的定义)3)详细设计:针对2)中的主要功能模块,画出流程图,给出主要功能模块的流程图、算法及必要的文字说明)4)编码实现:给出3)中主要功能模块的函数实现,重点是函数的声明,变量或参数的说明,以及程序的功能说明与注释,不必把所有代码都写上,主要写出其声明与注释等。5)实验结果与分析:测试数据,测试输出的结果,程序运行效果截图(截图可以打印,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -
4、- - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 也可手抄记录) ,并对实验结果给出分析说明,主要分析说明验证其正确性。6)总结:总结可以包括:每个模块设计和调试时存在问题的思考(问题是哪些,问题如何解决?) ,算法的改进设想等,以及在课程设计过程的收获、遇到的问题、解决问题过程的思考、 程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对数据结构和算法课程的认识等内容。4. 实现的结果必须进行检查和演示,程序源代码和程序的说明文件必须上交,作为考核内容的一部分。 (上交时每人交一份,文件夹的取名规则为:“
5、学号姓名” ,如“ 10101199王五” 。该文件夹下至少包括:“源代码”。由学习委员收集按规定时间统一上交,另外,要上交课程设计报告,要求手写。也由学习委员收集按规定时间统一上交)5. 课程设计报告,可以按照:问题描述,需求分析,概要设计,详细设计,编码实现实验结果与分析,总结的格式书写。编码实现部分不要附源代码,只需要对重点函数及结构进行说明。6. 报告与源程序提交时间:课程设计的第二周星期四前提交报告与源程序,学习委员收集上交,迟交无成绩。形式:课程设计报告。另外,根据最后的验收与答辩给出最终成绩。三、课程设计题目与内容要求1. 停车场管理问题描述设停车场内只有一个可停放n 辆汽车的狭
6、长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n 辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它之后开入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场, 每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。试为停车场编制按上述要求进行管理的模拟程序。基本要求以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理。每一组输入数据包括三个数据
7、项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,对每一组输入数据进行操作后的输出数据为:若是车辆到达, 则输出汽车在停车场内或便道上的停车位置;若是车离去; 则输出汽车在停车场内停留的时间和应交纳的费用(在便道上停留的时间不收费)。栈以顺序结构实现,队列以链表实现。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 测试数据设 n=2, 输入数据为:( A ,1,5) , ( A ,2,10) , ( D ,1, 1
8、5) , ( A ,3, 20 ) ,( A ,4,25) , ( A ,5,30) , ( D ,2,35) , ( D ,4,40) , ( E , 0,0) 。每一组输入数据包括三个数据项:汽车“到达”或“离去”信息、汽车牌照号码及到达或离去的时刻,其中,A表示到达; D 表示离去, E表示输入结束。2. 哈夫曼编码与译码问题描述利用哈夫曼编码进行信息通讯可以大大提高信道的利用率,缩短信息传输时间,降低传输成本。 但是, 这要求在发送端通过一个编码系统对待传输数据预先编码;在接受端将传来的数据进行译码。针对字符集A(最少包含a-z 的 26 字母以上 )及其各字符的频率值(可统计获得)给
9、出其中给定字符哈夫曼编码,并针对一段文本(定义在A 上)进行编码和译码,实现一个哈夫曼编码/译码系统。基本要求根据某字符文件统计字符出现频度,构造Huffman 树,编制Huffman 编码,并将给定字符文件编码,生成编码文件;再将给定编码文件解码,生成字符文件。(要求按二进制位表示编码)3. 校园导航系统设计问题描述图的最短路径问题是指从指定的某一点v 开始,求得从该地点到图中其它各地点的最短路径。并且给出求得的最短路径的长度及途径的地点。设计学校的平面图,至少包括10 个以上 的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所最短路径(即用迪杰斯特拉算法),以
10、及从任意场所到达所有场所的最短路径(即用弗洛伊德算法)。基本要求要求完成以下功能:(1) 输出顶点信息:将校园内各景点输出。(2) 输出边的信息:将校园内每两个位置(若两个位置之间有直接路径)的距离输出。(3) 修改:修改两个位置 (若两个位置之间有直接路径)的距离,并重新输出每两个位置(若两个位置之间有直接路径)的距离;(4) 求最短路径: 输出给定两点之间的最短路径的长度及途经的地点,输出任意一点与其他各点的最短路径。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6
11、 页 - - - - - - - - - 4. 源程序的相似性问题描述对于两个C+语言的源程序代码,用哈希表的方法分别统计两个程序中使用C+语言关键字的情况,并最终按定量的计算结果,得出两份程序的相似性。基本要求建立 C+语言关键字的哈希表,统计在每个源程序中C+关键字出现的频度, 得到两个向量 X1 和 X2,通过计算向量X1 和 X2 的相对距离来判断两个源程序的相似性。例如 : 关键字Void Int For Char if else while do break class 程序 1 关键字频度4 3 0 4 3 0 7 0 0 2 程序 2 关键字频度4 2 0 5 4 0 5 2
12、0 1 X1=4,3,0,4,3,0,7,0,0,2 X2=4,2,0,5,4,0,5,2,0,1 设 s 是向量 X1 和 X2 的相对距离,s=sqrt( (x1 i-x2i) 2 ),当 X1=X2 时, s=0, 反映出可能是同一个程序;s值越大,则两个程序的差别可能也越大。测试数据选择若干组编译和运行都无误的C+程序,程序之间有相近的和差别大的,用上述方法求 s, 对比两个程序的相似性。选作内容建立源代码用户标识符表,比较两个源代码用户标识符出现的频度,综合关键字频度和用户标识符频度判断两个程序的相似性。5. 数据结构排序算法演示系统问题描述:各种内部排序算法的时间复杂度分析结果只给
13、出了算法执行时间的阶,或大概执行时间。试通过随机的数据比较各算法的关键字比较次数和关键字移动次数,以取得直观感受。基本要求:(1) 界面友好,易于操作。可采用菜单或其它人机对话方式进行选择。(2) 实现各种内部排序,包括直接插入排序,冒泡排序,直接选择排序,快速排序,堆排序,归并排序等。(3) 演示程序以人机对话的形式进行。每次测试完毕显示各种比较指标值的列表,以便比较各种排序的优劣。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - -
14、- 测试数据:利用随机函数产生N 个随机整数(10000 以上) ,对这些数进行多种方法进行排序。比较的指标为有关键字参加的比较次数和关键字的移动次数(关键字交换以3 次计 )。6. n 皇后问题问题描述:n 皇后问题,即在n n 的棋盘上摆放n 个皇后,使任意两个皇后都不能处于同一行、同一列或同一斜线上。基本要求:用回溯法及拉斯维加斯概率算法求解并比较复杂性。测试数据:要求至少测试四皇后、八皇后。四、成绩评定评分标准:根据完成任务的情况(验收与答辩 ) 、课程设计报告 书的质量和课程设计过程中的工作态度( 考勤等 )等按照 40%、40%、20%综合打分。成绩评定实行优秀、良好、中等、及格和
15、不及格五个等级。上机程序未通过者、无设计报告者以及严重抄袭他人设计者,成绩均为不及格。(注意每个同学的输入数据要自行设计,禁止抄袭,否则成绩为不及格)。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 数据结构与算法课程设计报告设计题目:专业学号姓名年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -