- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构与算法_2005《数据结构》实验课程教学大纲王阿川.
《数据结构》实验课程教学大纲
1.实验课程名称:《数据结构实验》
2.实验课程名称(英文):Data Structure
3.课程代码:130038
4.实验课程性质:非独立设课
5.学 时:16
6.学 分:
7.适用专业:计算机科学与技术
8.先修或同修课程:高级语言程序设计、面向对象概念和技术、离散数学等
9.开课单位:信息与计算机工程学院
10.制定实验教学大纲的依据:教育部数据结构课程教学指导性大纲、东北林业大学数据结构教学大纲。
11.本实验课在培养实验能力中的地位及作用
数据结构是信息与计算科学专业中一门重要的专业基础课程,用数字计算机解决任何实际问题都离不开数据表示和数据处理,而数据表示和处理的核心问题之一是数据结构及其算法实现,他为计算机专业人员提供了必要的技能训练。按照“素质教育”要求,培养具有一定创新能力和创造能力的人才为目标,本课程实验将数据结构和高级语言程序设计两部分相结合,着重培养学生进行复杂、综合性程序设计的训练过程为主要目的,以实验设计方法、设计思路,实验手段的合理运用等内容为主,充分发挥学生的主观能动性,因材施教。通过实践,学生对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。通过数据结构的实验课程的学习,为后续课程,特别是软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。
12.应达到的实验能力标准
上机实习是对学生的一种全面综合训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,实习题中的问题比平时的练习题要复杂,也更接近实际。数据结构这门课程安排的4次上机实验都属于一种设计类型的实验,每个实验的训练重点在于基本的数据结构,而不强调面面俱到;实验的目的是旨在使学生进一步巩固课堂上所学的理论知识,深化理解和灵活掌握教学内容。
在实验教学过程中培养学生的实验技能和科学研究能力,引导学生学会分析研究计算机加工的数据结构特性,以便为应用涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间分析和空间分析技术。另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力和程序设计的能力⑴输入一组整型元素序列,建立顺序表。
⑵实现该顺序表的遍历。
⑶在该顺序表中进行顺序查找某一元素,查找成功返回1,否则返回0。
⑷判断该顺序表中元素是否对称,对称返回1,否则返回0。
⑸实现把该表中所有奇数排在偶数之前,即表的前面为奇数,后面为偶数。
⑹输入整型元素序列利用有序表插入算法建立一个有序表。
⑺利用算法6建立两个非递减有序表并把它们合并成一个非递减有序表。
⑻编写一个主函数,调试上述算法。
*⑼综合训练:利用顺序表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等)
(2)实验二 链式存储结构(一)单向链表的有关操作
⑴随机产生或键盘输入一组元素,建立一个带头结点的单向链表(无序)。
⑵遍历单向链表。
⑶把单向链表中元素逆置(不允许申请新的结点空间)。
⑷在单向链表中删除所有的偶数元素结点。
⑸编写在非递减有序链表中插入一个元素使链表元素仍有序的函数,并利用该函数建立一个非递减有序单向链表。
⑹利用算法5建立两个非递减有序单向链表,然后合并成一个非递增链表。
⑺利用算法5建立两个非递减有序单向链表,然后合并成一个非递减链表。
⑻利用算法1建立的链表,实现将其分解成两个链表,其中一个全部为奇数,另一个全部为偶数(尽量利用已知的存储空间)。
*⑼采用单向链表实现一元多项式的存储并实现两个多项式相加并输出结果。
⑽在主函数中设计一个简单的菜单,分别调试上述算法。
*⑾综合训练:利用链表实现一个班级学生信息管理(数据录入、插入、删除、排序、查找等,并能够实现将数据存储到文件中)
(3)实验三 链式存储结构(二)双向链表的有关操作
⑴利用尾插法建立一个双向链表。
⑵遍历双向链表。
⑶实现双向链表中删除一个指定元素。
⑷在非递减有序双向链表中实现插入元素e仍有序算法。
⑸判断双向链表中元素是否对称若对称返回1否则返回0。
⑹设元素为正整型,实现算法把所有奇数排列在偶数之前。
⑺在主函数中设计一个简单的菜单调试上述算法。
(4)实验四 栈和队列的有关操作
⑴采用链式存储实现栈的初始化、入栈、出栈操作。
⑵采用顺序存储实现栈的初始化、入栈、出栈操作。
⑶采用链式存储实现队列的初始化、入队、出队操作。
⑷采用顺序存储实现循环队列的初始化、入队、出队操作。
⑸在主函数中设计一个简单的菜单,分别测试上述算法。
*⑹综合训练:①利用栈实现表达式求值算法。
②利用栈实现迷宫求解。
(5)实验五 二叉树的常见操作
⑴输入字符序列,建立二叉链表。
⑵中序遍历二叉树:递归算法。
文档评论(0)