欢迎来到天天文库
浏览记录
ID:33409189
大小:73.50 KB
页数:8页
时间:2019-02-25
《数据结构课程设计指导》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数据结构课程设计指导课程设计名称:数据结构课程设计指导老师:欧阳勇课程设计周(时)数:1周指导方式:集体辅导与个别辅导相结合课程设计适用专业:计算机科学与技术课程设计教材及主要参考资料:1、《数据结构》,严蔚敏编著,清华大学出版社一、课程设计教学目的及基本要求1、了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3、提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4、训练用系统的观点和软件开发一般规范进行软件开发,培养软
2、件工作者所应具备的科学的工作方法和作风。5、设计的题目要求达到一定工作量(200行以上代码),并具有一定的深度和难度。6、编写出课程设计说明书,说明书不少于15页(不包括代码)。二、课程设计内容及安排1、问题定义与需求分析:根据设计题目的要求,充分地分析和理解问题,确定功能需求和限制条件。2、数据结构设计:对问题描述中涉及的操作对象定义相应的数据类型和各抽象数据类型,写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),,3、总体设计:采用结构化设计方法,按照以数据结构为中心的原则划分模块,设计软件层次
3、结构和模块间的调用关系,定义主程序,画出模块之间的调用关系图。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,4、详细设计:定义数据存储结构,各个主要模块的算法定义。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,用伪码写出函数的算法。5、程序编码:把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解,使程序中逻辑概念清楚。要求用C语言编写。6、程序调试与测试:采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑
4、点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果。7、设计结果分析:程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析。8、编写课程设计报告。题目:学生成绩管理系统(1)问题描述设计数据结构完成一个学院学生相关信息的存储,并在此基础上编写算法实现学生成绩管理。(2)课程设计目的应用线性数据结构存储信息,并能够合理的应用排序及查找算法,学会应用散列法。(3)基本要求①一个学院由若干个班组成;所有学生修相同的考试课和考查课。②
5、管理系统能够实现:学生加入,学生毕业,学生成绩统计,学生查询,学生排名等管理操作。(要考虑考试课和考查课的比重关系)③为方便查找,要求针对学生姓名进行散列法查找。④管理系统应有完整地界面(最好是图形化界面)。(4)实现提示主要集中在散列函数的构造和冲突的解决上。迷宫的生成与路由(1)问题描述设计算法生成一个N×M(N行M列)的迷宫,并完成迷宫的组织和存储。实现两种不同的迷宫路由算法:广度优先,深度优先算法。并比较(包括理论和实验)三种方法的时空复杂性。(2)课程设计目的理解栈的应用,理解深(广)度优先思想,理解问题的理论和
6、实验分析。(3)基本要求①N和M是用户可配置的,缺省值为50和50。②迷宫的入口和出口分别在第0行和第N-1行上,随机选择。③生成的迷宫要求是连通的。④实现图形化界面(可用VC++,也可用C语言的图形库)。⑤三种方法的试验比较应该在多个迷宫实例上(尤其可以选一些特定的迷宫)。(4)实现提示多考虑栈上的运算。.“随机漫步”问题(1)问题描述有一类问题总称为“随机漫步”(randomwalk)问题,这类问题长久以来吸引着数学界的兴趣。所有这些问题即使是最简单的解决起来也是极其困难的。而且它们在很大程度上还远没有得到解决。一个这
7、样的问题可以描述为:在矩形的房间里,铺有n×m块瓷砖,现将一只(醉酒的)蟑螂放在地板中间一个指定方格里。蟑螂随机地从一块瓷砖“漫步”到另一块瓷砖(可能是在找一片阿司匹林)。假设它可能从其所在的瓷砖移动到其周围八块瓷砖中的任何一个(除非碰到墙壁),那么它把每一块瓷砖都至少接触一次将花费多长时间?虽然这个问题可能很难用纯粹的概率技术来解决,但是使用计算机的话却十分容易。使用计算机解决此问题的技术称为“模拟”。这种技术广泛应用于工业中,用来预测运输流量,存货控制等等。该问题可采用如下方法进行模拟:用一个n×m数组作为计数器来表示
8、蟑螂到达每一块瓷砖的次数,每个数组单元的初始值均置为零。蟑螂在地板上的位置用坐标(ibug,jbug)表示。蟑螂的八种可能移动用在位置(ibug+imove[k],jbug+jmove[k])的瓷砖表示,其中0≤k≤7,并且imove[0]=-1jmove[0]=1imove[1]=0jmove[1]=
此文档下载收益归作者所有