天津科技大学数据结构与算法课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构与算法分析》课程设计教学任务书
一、课程设计的目的
数据结构与算法课程主要是研究非数值计算的程序设计问题中所出现的计算机操作对象以及它们之间的关系和操作的学科。数据结构是介于数学、计算机软件和计算机硬件之间的一门计算机专业的核心课程,它是计算机程序设计、数据库、操作系统、编译原理及人工智能等的重要基础,广泛的应用于信息学、系统工程等各种领域。
学习数据结构与算法是为了将实际问题中涉及的对象在计算机中表示出来并对它们进行处理。通过课程设计可以提高学生的思维能力,促进学生的综合应用能力和专业素质的提高。通过此次课程设计主要达到以下目的:
了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力;
初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
二、课程设计的基本要求
1. 独立思考,独立完成:课程设计中各任务的设计和调试要求独立完成,遇到问题可以讨论,但不可以拷贝。
2. 做好上机准备:每次上机前,要事先编制好准备调试的程序,认真想好调试步骤和有关环境的设置方法,准备好有关的文件。
3. 按照课程设计的具体要求建立功能模块,每个模块要求按照如下几个内容认真完成:
a)需求分析:
在该部分中叙述,每个模块的功能要求
b)概要设计:
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)
c)详细设计:
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释
d)调试分析:
测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些,问题如何解决?),算法的改进设想
课程设计总结:(保存在word文档中)总结可以包括:课程设计过程的收获、遇到的问题、解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对《数据结构》课程的认识等内容
4. 实现的结果必须进行检查和演示,程序源代码和程序的说明文件必须上交,作为考核内容的一部分。(上交时每人交一份,文件夹的取名规则为:“学号姓名”,如“09201199王五”。该文件夹下至少包括:“源代码”、“课程设计报告”、“可执行文件”。由学习委员收
集按规定时间统一上交)
5. 课程设计报告不要附源代码,可以对重点函数及结构进行说明。
6. 报告提交
时间:第21周星期四检查,第21周星期五由学习委员收集上交,迟交无成绩。
形式:课程设计报告。
三. 课程设计内容
1.一元多项式的代数运算(参考课本P39-P43)。
设计要求:计算任意两个一元多项式的加法、减法以及乘法。
2. 哈夫曼编码与译码
设计要求:针对字符集A(最少包含a-z的26字母以上)及其各字符的频率值(可统计获得)给出其中给字符哈夫曼编码,并针对一段文本(定义在A上)进行编码和译码,实现一个哈夫曼编码/译码系统(参考课本P144-P148)。
3. 校园导航问题
设计要求:设计你的学校的平面图,至少包括10个以上的场所,每两个场所间可以有不同的路,且路长也可能不同,找出从任意场所到达另一场所的最佳路径(最短路径)(参考课本P186-P192)。
4. 马踏棋盘问题
问题描述:
在8×8方格的棋盘上,从任意指定方格出发,为马寻找一条走遍棋盘每一格并且每格只经过一次的一条路径。
设计要求:
(1)数据输入:输入马的起始位置。
(2)结果输出:输出由每个方格点连接起来的整个路线。
(3)用深度优先搜索求解:
测试数据:
输入任意棋盘上的起点位置。
5. 数独游戏实现
问题描述:
数独是一种源自18世纪末的瑞士,后在美国发展的游戏,2004年11月12日“数独”游戏登上《泰晤士报》的版面,很快“数独”游戏就成为在世界范围内流行的数字拼图游戏。如图所示,拼图是由一个3*3的九宫格组成,每一格又细分为一个小九宫格,共九九八十一个小格子。游戏规则:游戏开始前会有一些格子上写好了1-9的数,在剩下的格子里填1-9的数,直到把所有格子填满,要求,任何一行或一列或者任何一个小九宫中没有相同的数字。
设计要求:
(1)数据输入:有些格已填写数字的九宫格,如图所示。
(2)结果输出:符合要求的填充1-9数字后的九宫格。
(3)用回溯法来求解该问题。
测试数据:
如图所示。
四、成绩评定
评分标准:
根据完成任务的情况、课程设计报告书的质量和课程设计过程中的工作态度等按照30%、50%、20%综合打分。成绩评定实行优秀、良好、中等、及格和不及格五个等级。上机程序未通过者、无设计报告者以及严重抄袭他人设计者,成绩均为不及格。
数据结构与算法分析课程设计报告
设计题目:
专业
学号
姓名
2010 年月日