《应用数据结构》实验教学大纲2011.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《应用数据结构》实验教学大纲 课程编号: 课程名称:应用数据结构/Applied Data Structure 实验总学时数:16 适应专业:工科类 承担实验室:管理学院实验中心 一、实验教学的目的和任务 1.实验教学的目的 本课程的教学要求之一是训练学生进行复杂程序设计的技能和培养良好程序设计的习惯,其重要程度绝不亚于知识传授。实验的作用在于帮助学生深入理解教材内容,巩固基本概念,促使学生在动手过程中进一步体会C语言中数据结构的运用技巧,并锻炼学生在调试过程中分析和发现问题的能力。 2.实验教学的要求 学生应掌握C语言基本编程能力并运用数据结构的原理和方法解决具体问题。除按时上机外,学生应具备构造算法并用程序实现的能力;在程序调试过程中,学生应能正确解读程序的错误提示并找到有效的解决办法。此外,规范书写算法也是一个值得高度重视的问题,教师有责任在教学过程中提醒学生,避免形成一系列难以纠正且贻害无穷的程序设计坏习惯。此外,本门课程设计的算法比较多,要求教师熟练掌握C语言和数据结构各类算法,并能准确理解和回答学生提出的编程问题。 二、实验项目及学时分配 序号 实 验 项 目 名 称 实验学时 实验类型 开出要求 1 线性数据结构算法验证 4 验证及演示 必做 2 非线性数据结构算法验证 4 验证及演示 必做 3 查找及排序 4 验证及演示 必做 4 综合算法设计 4 综合 必做 三、每项实验的内容和要求 0.实验设备及耗材 所有实验用计算机由院系计算机中心或机房提供上机场所和硬件设施,软件配置每台电脑上必须安装有Turbo C++ 3.0运行环境。所有实验均无耗材需求。 实验一 线性数据结构算法验证 1.实验内容: 链表的构造——构造一个对单链表或双链表进行各项操作的函数,在主函数中通过调用菜单选项进行各项操作,如学生成绩统计问题。 栈的基本操作——以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两个端点。编写实现这个双向栈的三个操作:初始化、入栈和出栈的算法。 队列的应用——机场事件模拟。通过一个机场飞机起降的模拟过程向学生演示队列技术的经典应用。 2.实验要求 链表的构造部分的主要目的在于帮助学生熟练掌握线性表的基本操作在两种存储结构上的实现,其中以各种链表的操作和应用作为重点内容。 栈的基本操作部分的主要目的在于使学生深入了解栈和队列的特性,以便在实际问题背景下灵活运用它们;同时还将巩固对这两种结构的构造方法的掌握,接触较复杂问题的递归算法设计。 本次实验的主要目的在于使学生深入了解队列在实际问题中的具体运用,除了课件演示外,程序演示也是重要一环。本次实验主要以教师课堂演示为主,因此演示内容不局限于机场事件,还可以使用其它程序,如银行业务模拟等。 实验二 非线性数据结构算法验证 1.实验内容: 二叉排序树的构造与遍历——将教材中的二叉排序树程序改写为数据域为字符串的完整程序,要求能实现建树、添加、删除、查找、遍历等各项操作。 图的遍历算法——试利用栈的基本操作编写按深度优先搜索策略遍历一个强连通图的非递归形式算法,算法中不规定具体的存储结构,而将图看成一种抽象数据类型。 2.实验要求 本次实验是学生首次运用非线性技术处理数据结构,因此难度要求有所降低。二叉排序树部分的主要目在于帮助学生熟悉数据结构的存储表示和实现方法,避免学生过高的难度要求失去对数据结构课的信心和兴趣。 图的遍历算法部分,对于非计算机专业学生只要求理解遍历的原理和过程,不要求程序实现,因此本实验主要以课堂演示为主。 实验三 查找及排序 1.实验内容: 静态查找——在深入消化理解教材折半查找算法的基础上编写一个可以演示的程序,并在学有余力的同时探讨分块查找的实现可能。 动态查找——在实验二的基础上编写一个实现二叉排序树查找、元素添加和删除的算法程序,并探讨将该算法平衡化的思路。 插入排序与选择排序算法——编写一个针对20个整数的折半插入排序、Shell排序及堆排序算法,并考虑如果将整数改为字符串后程序如何修改。 快速排序与归并排序算法——编写一个针对20个整数的快速排序和归并排序的算法,可以参考教材给出的思路进行改写。 基数排序与哈希排序算法——编写一个针对20个整数的基数排序和哈希排序的算法,可以参考教材给出的思路进行改写。 查找及排序算法集成——自行编写一个集成算法,将本实验所涉及到的查找和排序算法整合在一起,要求交互式实现。 2.实验要求 静态查找作为折半插入排序的基础,主要目的在于帮助学生深入研究算法的存储表示和实现技术,熟悉算法的特性。 动态查找作为静态查找的延伸,主要目的在于帮助学生强化对二叉平衡树概念的理解和算法认识。 排序算法部分要求学生将教材或讲义上的功能函数以完整的程序形式实

文档评论(0)

精华文档888 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档