没有合适的资源?快使用搜索试试~ 我知道了~
数据结构-教学大纲.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 143 浏览量
2022-11-10
06:21:39
上传
评论
收藏 810KB PDF 举报
温馨提示
试读
23页
。。。
资源推荐
资源详情
资源评论
《数据结构》教学大纲
课程编号:071213A
课程类型:□通识教育必修课 □通识教育选修课
□专业必修课 □专业选修课
■学科基础课
总学时:48 讲课学时:32 实验(上机)学时:16
学 分:3
适用对象:计算机科学与技术专业
先修课程:
程序设计基础与应用、计算机基础
一、教学目标
本课程是计算机科学与技术专业的必修课。本课程是计算机科学与技术专业
的核心课程,既重视学生相关理论的系统学习,又强调培养学生发现问题、分析
问题和解决问题的实践能力。《数据结构》在计算机科学中是一门综合性的专业
主干课,它是介于数学、计算机硬件、计算机软件三者之间的一门核心课程,而
且是操作系统、数据库系统及其它系统程序的大型应用程序设计的基础,同时又
直接为从事各类计算机应用的技术人员提供了必要的基本知识和解决实际问题
的多种方法。
用计算机解决任何问题都需要进行数据表示和数据处理,而数据表示和数
据处理正是《数据结构》要研究的内容。《数据结构》主要介绍如何合理地组织
数据、有效地存储和处理数据,正确地设计算法以及对算法的分析和评价。该
课程逻辑上以线性结构、层次结构、网状结构为主线,物理上分顺序存储、链
式存储,分别介绍基本数据结构的特点和算法。并重点介绍有关各种检索、排
序和文件组织的常用算法。通过上述知识的学习和能力的提高,为后续学习和
实际工作打下良好的知识基础和能力基础。
目标 1: 通过对数据结构基本知识进行讲解,让学生理解并掌握数据的逻
辑结构和物理结构,并掌握算法设计的基本思想。
目标 2:培养学生分析算法复杂度的初步能力,锻炼学生逻辑思维能力和
想象能力,并使之了解数据结构的各种应用场景。
目标 3:鼓励学生运用算法知识解决各自学科的实际问题,培养他们的独
立科研的能力和理论联系实际的能力。
二、教学内容及其与毕业要求的对应关系
(一)教学内容
1.知识体系
第一部分:数据结构的基本概念,包括数据、数据元素、数据项等基本概念、
数据类型、抽象数据类型、算法的定义、算法的特性、算法的时间代价、算法的
空间代价;
第二部分:线性表的逻辑结构特性,以及线性表的两种存储实现方式;顺序
表的定义与实现,包括搜索、插入、删除算法的实现及其平均比较次数的计算;
单链表的类定义、构造函数、单链表的插入与删除算法及其平均比较次数的计算;
第三部分:栈的定义、特性和栈的抽象数据类型,栈的顺序表示、链表表示
以及相应操作的实现;队列的定义、特性和队列的抽象数据类型,队列的顺序表
示、链表表示以及相应操作的实现;
第四部分:串的定义,串的表示和实现,串的操作的定义;
第五部分:数组的两种存储表示方法;矩阵的压缩存储;
第六部分:树和森林的概念。包括树的定义、树的术语、树的抽象数据类型;
二叉树的概念、性质及二叉树的表示;二叉树的遍历方法;线索化二叉树的特性
及寻找某结点的前驱和后继的方法;树与森林的实现,重点在用二叉树实现;森
林与二叉树的转换;树的遍历算法;二叉树的计数方法及从二叉树遍历结果得到
二叉树的方法;赫夫曼树的实现方法、构造赫夫曼编码的方法及带权路径长度的
计算;
第七部分:图的基本概念和图的抽象数据类型,图的 3 种存储表示:邻接矩
阵、邻接表和邻接多重表。对于前两种,要求掌握典型操作,如构造、求根、找
第一个邻接顶点、找下一个邻接顶点等操作的实现算法;图的两种遍历算法与求
解连通性问题的方法。包括深度优先搜索和广度优先搜索算法、求连通分量的方
法;构造最小生成树的 Prim 算法和 Kruskal 算法,要求理解具体算法实现;活动
网络的拓扑排序算法;求解关键路径的方法;如何用 Dijkstra 方法求解单源最短
路径问题(不要求具体算法实现);
第八部分:查找表的定义、分类和各类的特点;顺序查找和二分查找的思想
和算法;二叉排序树的概念和有关运算的实现方法;哈希表、哈希函数的构造方
法、以及处理冲突的方法;哈希存储和哈希查找的基本思想及有关方法、算法;
第九部分:排序的基本概念和性能分析方法;插入排序、交换排序、选择排
序、归并排序等内排序的方法及其性能分析方法;
2.核心内容介绍
本课程的核心内容包括线性结构、树形结构、图形结构,这三种结构的数据
类型定义和逻辑实现的方法。通过本课程的学习,要求学生了解数据结构及其分
类、数据结构与算法的密切关系; 熟悉各种基本数据结构及其操作,学会根据
实际问题要求来选择数据结构;掌握设计算法的步骤和算法分析方法;掌握数据
结构在排序和查找等常用算法中的应用。
(二)教学方法和手段
根据教学目标,拟采用的教学方法有:课堂讲解基本概念和核心知识,讲授
和讨论相结合领会知识要点,锻炼解决问题的能力,最后借助 Microsoft Visual
C++软件进行上机操作和具体实践。
(三)学习要求
1.为有效学习本课程,要求学生首先具备计算机基础、程序设计基础等方
面的基本知识,较熟练掌握一门高级程序设计语言开发设计等方面的完整知识,
具备基本的上级调试程序的能力。
自学时应该熟读大纲,提纲挈领地掌握数据结构的内容,随后,按照大纲熟读教
材,还要参考大量的参考文献,通过课后思考和练习题进行多角度和层次的反复
学习。
2.上机实践,本门课程有很多上机内容,在每一章节都要进行相关程序的
设计和调试。建议自学时安装 Microsoft Visual C++软件进行自学,完成书上例
题的上机内容。通过上机学习本课程的理论,掌握数据结构的基本算法。
(四)与毕业要求的对应关系
通过教学和实践,培养学生运用数学工具和方法分析问题和从算法的角度
运用数学工具解决问题的基本能力,培养学生设计算法和分析算法复杂性的基
本能力,训练学生的逻辑思维能力和想象力,从而使他们能够正确地分析和评
价一个算法,进一步设计出真正有效或更有效的算法,并使之了解算法理论的
基础知识和发展概况。
在教学中,鼓励学生运用算法知识解决各个学科的实际计算问题,培养学
生初步的独立开展科研工作的能力和理论联系实践,解决实际问题的能力,同
时,为后续课程以及将来的研究工作提供必要的算法设计与分析的基础。
此外,配合实验课程的教学,学生应理论联系实际,理论指导实践,通过
规范地完成一系列算法设计实验进一步巩固所学的相关书本知识,在知识、能
力、素质上得到进一步的提高。
三、各教学环节学时分配
教学课时分配
序号
1
2
3
章节内容
第一章 绪论
第二章 线性表
第三章 栈和队列
讲课
2
4
4
实验
3
3
其他 合计
2
7
7
4
5
6
7
8
9
10
合计
第四章 串
第五章 数组和广义表
第六章 树和二叉树
第七章 图
第九章 查找
第十章 内部排序
结课复习
1
4
5
5
3
3
1
32
0
2
3
2
1
2
16
1
6
8
7
4
5
1
48
四、教学内容
第一章 绪论
第一节 什么是数据结构
第二节 基本概念和术语
第三节 抽象数据类型的表示与实现
第四节 算法和算法分析
1、算法
2、算法设计的要求
3、算法的效率
4、算法的存储空间
教学重点、难点:
(1)重点:数据类型、数据结构;算法时间复杂度。
(2)难点:算法的时间复杂度与空间复杂度。
课程的考核要求:
了解:各种基本概念和术语,数据、数据元素、数据项、数据结构等基本概
念。
理解:算法描述和分析的方法。数据结构在各种软件系统中所起的作用。选
择合适的数据是解决应用问题的关键步骤。
剩余22页未读,继续阅读
资源评论
G11176593
- 粉丝: 6667
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功