- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《数据结构与算法》实验大纲
内容提要:
实验教学目的
总体要求与指导
平时实验内容与指导
期末实验选题、报告要求与评分
一、实验教学目的
通过该课程的实验练习,使学生能够进一步掌握各种数据结构以及建立在此基础上的算法的基本知识;进一步理解各种基本数据结构的特点;进一步掌握数据结构与算法的关系;培养学生设计有效的算法及设计数据结构的能力。
二、总体要求与指导
(一)远程教育辅导教师基本条件(要求)
1. 熟练掌握C语言及其调试开发环境;
2. 具有用C语言编写调试中等规模以上(数千行源码)程序的经验;
3. 掌握《数据结构与算法》课程有关的知识, 具有较好的算法设计和分析的能力;
4. 有一定的教学经验。
(二)算法实验要求综述
根据目前远程教育计算机专业的学生的实际情况和他们的 C语言基础,严格按照本科教学要求进行算法实验上机并完成相应的实验报告, 对多数学生是有一定困难的. 为适应不同基础的学生循序渐进地学习,我们把实验要求分成四个层次, 希望学生不断往更高层次要求自己, 最终能达到本课程的实验基本要求.
这四个层次的要求是:
1. 以熟练使用c语言的开发环境(如TC2.0或VC6.0)为主,进行简单问题的程序设计和调试分析
2. 编写主程序调用调试教材中描述并在课堂中详细讲解过的算法
3. 完成习题中的算法设计题并书写实验报告
4. 独立完成一个小的应用系统并规范书写实验报告,以进一步提高算法描述和算法分析的能力
以上1至3层次作为本课程的基本要求,第4层次作为综合能力的培养与提高。实验辅导教师也可以根据当地学生的具体情况, 本着能提高学生两个能力(C语言的编程和调试能力, 算法设计和分析能力)的目的, 循序渐进地引导学生掌握算法和程序的上机实验, 并参考《题集》的实验报告范例和本大纲第四部分的要求书写实验报告。
按教学计划,本课程实验课时为15学时,安排4次平时实验和1次期末实验。由于课时数有限,要求学生在实验前作好充分准备,否则很难在两个学时内完成相关的上机与调试。上机前的准备工作主要有两项:一是仔细阅读理解书中的相关算法,需要写解题算法的还要在纸上写好算法;二是准备好要调试算法的数据,并写好调用算法的主程序。
有的实验分为A、B(和C)实验。A实验对应第二层次的能力培养训练,B实验对应第三层次的能力培养训练。前两个实验的一部分实验给出了整个实验过程以及参考源程序,学生只要理解并直接拷贝上机运行调试即可。前两个实验的一部分和后两个实验需要学生动手组成完整的程序,并调试运行。
期末实验给出了几个可选题目,学生任意选择其中一个题目完成即可,并写出实验报告。可选题目内容和评分方法见后面“期末实验报告要求与评分”。
下面就平时实验每一层次的要求作一下说明。
1. 以熟练使用c语言的开发环境(如TC2.0或VC6.0)为主,进行一般问题的程序设计和调试分析
该能力实际上是预修课C语言的要求,由于有相当部分学生C语言掌握不是很好, 影响了数据结构算法的描述和理解. 所以开始应该注意弥补C语言的能力. 根据经验, C语言中函数定义与调用(形参和实参的对应等), 指针, 类型定义与使用、结构的定义和使用、动态内存的申请等难点却是数据结构算法描述的重点, C语言的这些障碍严重影响了学生对数据结构与算法的理解,也影响了学习数据结构的兴趣. 所以实验指导教师在鼓励学生主动补习C语言知识的同时, 有意识安排一些符合学生基础的程序设计练习作为本课程实验的前导补充. 与本课程的相公的算法题目可以推后几周上机.
本实验教学计划的预备实验(即实验0)是为完成该任务而设计的。如果学生的困难比较大,尽量在教学计划时间以外鼓励学生多做上机,打好基础。
2. 编写主程序调用调试教材中描述并在课堂中详细讲解过的算法
为加深对课堂讲解的算法的理解,选择部分(尤其是基础部分,如线性表,堆栈与队列等的顺序和链式存储的最常用的基本操作)算法进行上机调试,如第二章的InitList_Sq、ListInsert_Sq和ListDelete_Sq一组算法和第三章的InitStack、GotTop、Push和Pop一组算法等。这些算法是后面章节更复杂算法的基础(如树和图中的算法),算法的积累过程象滚雪球,所以基础必不可少。
调试这些算法要注意两点。一是适当修改教材算法中的非C语言的语句和增加部分局部变量的定义。由于算法的描述是类C语言的,所以要改为完整的C语言的函数。不过需要修改(增加)的地方不多。二是书写一个主程序来调用并调试描述算法的函数。主程序的设计要根据算法的功能和调试需要来编写。
本实验教学计划的的A实验是为完成该任务而设计的。
3. 完成习题中的算法设计题并书写实验报告
我们在《题集
文档评论(0)