- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计教学大纲(2011高职)
《数据结构》课程设计教学大纲
课程代码:4204012201
课程类型:专业技能
学时:1周
适用专业:计算机应用技术
一、教学目的及基本任务
数据结构与算法设计课程设计是数据结构与算法设计课程的重要实践性环节,是学生在校期间第一次较全面的程序设计与编写的能力训练,在实现学生总体培养目标中占有重要地位。
本课程的教学目的是:
1.通过课程设计实践,树立正确的设计思想,培养综合运用数据结构与算法设计课程和其他先修课程的理论知识来分析和解决计算机程序设计问题的能力。
2.学习数据结构与算法设计的一般方法,掌握数据结构与算法设计的一般规律。
3.进行数据结构与算法设计基本技能的训练:例如类设计、方法设计、查阅资料和手册、运用程序语言的标准和规范,进行计算机程序设计与实现的训练。
本课程的基本任务是:
1.从项目内容提要出发,制订或分析设计方案。
2.根据对项目的功能分析和结构化分解,正确设计出解决问题的类结构,然后进行程序整体结构设计。
3.初步掌握进行计算机程序项目设计与分析的能力。
二、教学基本内容和要求
(一)教学基本内容
课程设计需要在具体项目的基础上,培养学生进一步理解和掌握课堂教学中所学知识,掌握如何将抽象数据类型:线性表、栈与队列、树和图封装为类使学生掌握抽象数据类型的定义和实现方法,领会数据类型的实质。使学生能根据实际问题选择数据结构,清晰的描述算法,并进行程序设计和实现。使学生掌握书写规范数据结构的选用、算法设计与分析、程序设计与测试。掌握数据结构与算法的设计方法,初步具备;
2、初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
3提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风(x1,x2,…xm),和(y1,y2, …yn)。把它们合并成一个线形表C,使得:
(1)当mn时,C=x1,y1,x2,y2,…xn,yn,…,xm
(2)当nm时,C=y1,x1,y2,x2,…ym,xm,…,yn
(3)当n=m时,分别实现C=x1,y1,x2,y2,…xn,yn,…,xm和C=y1,x1,y2,x2,…ym,xm,…,yn
(4)输出线形表C
以上三种情况要求编写四个函数实现,自由选择实现,但每位同学在课程设计报告中必须包含全部四个函数。
2)用直接插入排序法对C进行升序排序,生成链表D,并输出链表D。
测试数据:
(1)A表(30,41,15,12,56,80)
B表(23,56,78,23,12,33,79,90,55)
(2)A表(30,41,15,12,56,80,23,12,34)
B表(23,56,78,23,12)
(3)A表(23,56,78,23,12,33,79,90,55)
(2)B表(30,41,15,12,56,80,23,12,34)
3、队列的实现
任务:
定义队列结构(一半同学采用数组保存队列,一半同学采用单链表保存队列(单链表是否带头结点不作要求),队列中的数据采用int类型的数据)
1)队列的初始化函数,队列的删除函数(删除队列里边的所有元素)
2)计算队列里边元素个数,判断队列是否为空
3)获得给定位置上的队列结点下标或指针
4)输出队列中每个结点的值(即遍历一下队列)
5)在队列中查找是否存在指定值的结点
6)将队列的队头元素出队列
7)将指定结点入队列
8)删除队列中的第一个结点
9)删除队列中指定位置上的结点
10)将队列中的元素按任意一种排序方法进行升序排列并输出
其中,1)、6)、7)必做;其它函数全做。
4、栈的实现
任务:
定义栈结构(单数学号同学采用数组保存栈,双数学号同学采用单链表保存栈(单链表是否带头结点不作要求),栈中的数据采用int类型的数据);以下函数每位同学都需要实现
栈的初始化函数,栈的删除函数(删除栈里边的所有元素)
计算队列里边元素个数,判断栈是否为空
压栈及出栈
4)输出栈中每个结点的值(即遍历一下队列)
5)在栈中查找是否存在指定值的结点
6)将栈的队头元素出队列
7)将指定结点入栈
5、建立二叉树,层序、先序、中序、后序遍历(用递归或非递归的方法都可以)
任务:
要求能够输入树的各个结点,并能够输出用不同方法遍历的遍历序列;
1)建立二叉树存储结构以及编写通过用户输入数据建立二叉树的函数
2)输出层序遍历序列的函数
3)输出先序遍历序列的函数
4)输出中序遍历序列的函数
5)输出后序遍历序列的函数
6)输出二叉树中的叶子结点以及总叶子结点个数,度为2的结点以及结点数
6、哈夫曼树的建立
文档评论(0)