云文档网 - 专业文章范例文档资料分享平台

《数据结构》教学大纲资料

来源:网络收集 时间:2024-04-27 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

《数据结构》教学大纲

适用专业: 计算机科学与技术(本科) 理论学时: 72 实践学时: 36

一、课程的性质、目的和任务

1、课程性质

数据结构是计算机学科的一门专业基础理论课,是计算机科学的核心课程之一。它介于数学、计算机硬件和软件三者之间,是操作系统、数据库、编译系统等课程以及也计算机科学各领域及相关的应用软件开发的重要基础。 2、课程的教学目的

本课程教学目的是使学生学会在非数值计算数学模型下分析计算机加工数据的理论和方法,掌握各种数据结构(线性表、堆栈与队列、树、图)的特性,为应用所涉及的数据选择适当的逻辑结构、存储结构及相应的算法,并且灵活地进行各种数据结构的基本操作,同时初步掌握对算法的时间分析和空间效率分析。另一方面,通过对本课程算法设计和上机实践的训练,还应培养学生的数据抽象能力、良好的程序设计能力,为后续课程的学习及以后从事软件开发工作打下良好的基础。 3、课程的任务

本课程,在学习基本数据结构(即:线性表、栈、队列、串、广义表、树、图)及其基本操作算法的全过程中,坚持“既授人鱼,更授人以渔”,指导学生按照“非结构化 → 结构化 → 对象化 → 同构化”的特点学习和利用可指导各种计算机语言进行数据结构算法实现的共性本质和方法,学会“举一反三、触类旁通,自主学习、力求创新”。

本课程, 要求学生熟悉数据信息在计算机系统中的逻辑结构、物理结构,掌握各种数据结构(例如:线性表,堆栈与队列,树,图)特性,可把现实信息抽象成它所对应的、科学数据及其数据结构,能灵活运用各种数据结构及其基本操作解决实际问题的程序设计能力。

本课程,注重“算法 + 数据结构 = 程序设计”的实践动手能力培养,通过 “习题练习、上机实习,课程设计”三位一体的训练,促使学生把理论学习和上机编程密切结合起来,可设计出正确、规范、严密、高效的算法并能编程实现,提高学生的逻辑思维能力、抽象能力和应用能力。

二、课程与其他课程的关系

1、先修课程:高等数学、高级语言程序设计(C语言) 2、关联课程:离散数学等

三、课程内容与重点难点

第一章 绪论

教学目的与要求:

1.掌握数据结构、存储结构和数据类型的基本概念及相关术语 2.理解算法要素的确切含义

3.掌握算法设计的基本要求以及分析算法的时间与空间复杂度的方法 教学内容:

1.数据结构的课程体系 2.基本概念和术语 3.算法和算法分析

重点:数据与数据元素,抽象数据类型表示法,类 C 语言语法,渐近时间复杂度的意义、作用以及计算方法

难点:数据元素间的四种结构关系,抽象数据类型表示法,渐近时间复杂度的意义

第二章 线性表

教学目的与要求:

1.掌握线性表的逻辑结构特性

2.掌握线性表的顺序存储结构和链式存储结构的描述方法及其结构特点

3.熟练掌握线性表在顺序存储结构和链式存储结构的结构上进行相关的查找、插入、删除等操作的算法,并且能够从时间和空间复杂度的角度综合比较两种存储结构的不同特点 教学内容

1.线性表的定义

2.线性表的顺序表示和实现 3.线性表的链式表示和实现 4.线性表的应用

重点:线性表的定义,线性表的顺序表示和实现方法,线性链表的单链表表示及实现方法。定位结点、删除结点、插入结点操作在单链表上的实现,循环链表、双链表的结构特点,循环链表、双链表上删除与插入操作的实现。

难点:线性链表的概念,线性表的顺序表示和实现方法,线性表与线性结构的联系与区别,链表与链式结构的联系与区别,指针操作,一元多项式的相加算法

第三章 栈和队列

教学目的与要求:

1.掌握栈和队列的结构特性和描述方法

2.熟练掌握出栈和入栈的基本操作,以及循环队列和链队列的出队列和入队列的基本操作实现算法

3.熟悉栈和队列的一些典型应用实例 教学内容:

1.栈的定义、表示和实现 2.栈的应用举例 3.栈与递归的实现 4.队列的定义、表示与实现 5.队列的应用举例

重点:栈和队列的基本概念、基本算法,栈的顺序存储表示与实现方法,利用栈实现行编辑 , 利用栈实现表达式求值,链队列的表示与实现 难点:栈和队列的应用算法,顺序栈的溢出判断条件

第四章 串

教学目的与要求:

1.掌握串的结构特性以及串的基本操作 2.掌握针对字符串进行操作的常用算法 3.熟练运用字符串处理函数 教学内容:

1.串类型的定义 2.串的表示和实现 3.串的模式匹配算法 4.串操作应用举例

重点:串的定义,串的表示和实现,定长顺序存储表示法,堆分配存储表示法,简单文本编辑器实现

难点:串的表示和实现,堆分配存储表示法,串的存储管理

第五章 数组与广义表

教学目的与要求:

1.掌握一维数组以及多维数组的存储和表示方法 2.掌握对特殊矩阵进行压缩存储时的下标变换公式 3.了解稀疏矩阵的三元组压缩存储表示方法及适用范围 4.掌握稀疏矩阵的三元组表示方法及矩阵转置算法 5.了解广义表的定义、存储结构和基本运算 教学内容:

1.数组的定义 2.数组的顺序表示 3.矩阵的压缩存储 4.广义表的定义 5.广义表的存储结构 6.m 元多项式的表示 7.广义表的递归算法

重点:数组的定义,数组的顺序表示方法,广义表的操作及意义,矩阵的压缩存储 难点:广义表存储结构,广义表的递归算法

第六章 树和二叉树

教学目的与要求:

1.掌握树的基本定义及其相关的术语的含义 2.熟练掌握二叉树的结构特性,了解相应的证明方法 3.熟悉三种遍历二叉树的递归算法

4.掌握二叉树线索化的实质及线索化的过程

5.掌握树、森林与二叉树的转换及其各自遍历的对应关系 6.掌握哈夫曼编码的原理及实现方法 教学内容:

1.树的定义和基本术语 2.二叉树定义、性质和存储结构 3.遍历二叉树和线索二叉树 4.树和森林 5.树与等价问题 6.赫夫曼树及其应用 7.回溯法与树的遍历 8.树的计数

重点:二叉树的定义和逻辑特点,二叉树的基本运算,二叉树的链式存储结构的组织方式,二叉树的三种遍历方法及其算法,一般树转化为二叉树的方法,哈夫曼树及哈夫曼编码,哈夫曼编码的应用

难点:二叉树的递归定义,二叉树链式存储结构的组织方式,三种遍历的区别,哈夫曼编码

第七章 图

教学目的与要求:

1.掌握图的定义和术语

2.掌握图的两种存储结构和两种遍历策略 3.熟悉图的最小生成树的生成方法 4.掌握拓扑排序、关键路径的算法思想 5.掌握网络顶点之间的最短距离的计算思想 教学内容:

1.图的定义和术语 2.图的存储结构 3.图的遍历 4.图的连通性问题 5.有向无环图及其应用 6.最短路径

重点:图的定义、术语及其含义,各种图的邻接矩阵表示法及其类型说明,图的按深度优先搜索遍历方法和按广度优先搜索遍历方法,生成树和最小生成树的概念, Prim 算法,拓扑序列和拓扑排序的概念和算法思想,关键路径的算法思想,最短路径的算法思想

难点:理解图的常用术语,图的两种存储结构的不同,关键路径,最短路径算法

第八章 动态存储管理

教学目的与要求:

了解可利用空间表及分配方法、首次拟合法、最佳拟合法,以及利用边界标识法、伙伴系统进行内存管理的分配、回收算法 教学内容:

1.动态存储管理内容

2.可利用空间表及分配方法 3.边界标识法 4.伙伴系统 5.无用单元收集 6.存储紧缩

第九章 查找

教学目的与要求:

1.掌握顺序表和有序表的查找方法 2.掌握查找效率的计算方法

3.熟练掌握二叉排序树的构造和查找方法 4.理解平衡二叉树的维护平衡的方法 5.掌握散列函数构造方法及冲突解决方案 教学内容:

1.静态查找表 2.动态查找表 3.哈希表

重点:查找表的基本概念,折半查找法、二叉排序树的定义和查找算法,二叉平衡树的概念,查找算法在顺序存储表、有序表的实现,散列表的基本思想,各种散列表的组织、解决冲突的方法

难点:二叉排序树上的插入和删除算法,平衡树、 B 树的建立,平衡二叉树的旋转平衡算法,散列表上的有关算法

第十章 内部排序

教学目的与要求:

1.掌握排序的定义和各种排序方法的基本思想及其特点 2.了解各种排序方法的排序过程及其依据的原则 3.掌握快速排序和堆排序等方法

4.能够进行各种排序方法的时间复杂性估计或分析 教学内容:

1.内部排序的基本概念 2.插入排序 3.快速排序

4.选择排序 5.归并排序 6.基数排序

7.各种内部排序方法的比较讨论

重点:排序以及内部排序的基本概念,直接插入排序、快速排序、选择排序、 归并排序 、基数排序的思想和算法 难点: 快速排序算法,堆排序算法

第十一章 外部排序

教学目的与要求:

1.了解外存储器及文件的基本知识 2.了解外排序的定义和基本方法

3.掌握磁盘排序和磁带排序两种外排序的基本思路 教学内容:

1. 外存信息的存取 2. 外部排序的方法 3. 多路平衡归并的实现 4. 置换 - 选择排序 5. 最佳归并树 重点:外部排序的方法 难点:多路平衡归并的实现

第十二章 文件

教学目的与要求:

1.了解文件的基本概念、文件的分类 2.了解不同类型文件的存取方法 教学内容:

1.有关文件的基本概念 2.顺序文件 3.索引文件

4.ISAM 文件和 VSAM 文件 5.直接存取文件(散列文件)

6.多关键字文件

四、学时分配

章 节 第一章 第二章 第三章 第四章 第五章 第六章 第七章 第八章 第九章 第十章 第十一章 第十二章 课程设计 合计 内 容 理 论 4 6 6 4 4 10 10 4 8 8 4 4 72 实 践 2 4 4 2 4 4 2 2 12 36 绪论 线性表 栈和队列 串 数组与广义表 树和二叉树 图 动态存储管理 查找 内部排序 外部排序 文件 五、实践内容

1、数组和指针在VC环境中的简单应用 2、对线性表进行顺序存贮的操作的实现 3、对线性表进行链式存贮的操作的实现 4、栈的应用 5、队列的应用

6、串类型及相关串操作算法的实现 7、二叉树的基本操作 8、二叉树的应用

9、图的创建遍历等基本操作 10、图的应用

11、查找算法的设计和实现 12、排序算法的设计和实现 13、课程设计

六、教材与参考书

1、推荐教材:

《数据结构(C语言版)》(第二版),严蔚敏、吴伟民著,清华大学出版社,2006年 2、参考书:

[1] 《数据结构 (C 语言版 )》,胡学钢著,高等教育出版社,2004年

[2] 《数据结构与算法》,Sartaj Sahni (美)著 ,汪诗林 孙晓东等译,机械工业出版

社,2006年

[3] 《数据结构题集》,严蔚敏等,清华大学出版社,2002年 [4] 《数据结构习题与解析》,李春葆著,清华大学出版社,2002

七、实践技能或课程考核要求

考试类型:考试(闭卷)成绩为:实验成绩+卷面成绩,其中实验成绩占30%,卷面成绩占70%。

八、对学生自学和习题的要求

1、自学要求:除读懂教科书中所讲内容外,建议阅读相关参考书,以加深对知识的理解和应用。

还需大量做题。其目的是要通过做题弄懂、加深对概念的理解,提高解决问题的能力。为此,安排一定的实验上机学时。

2、习题要求:除布置为上机实验的习题外,要求学生完成所收集习题中的40%以上。

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典教师教学《数据结构》教学大纲资料在线全文阅读。

《数据结构》教学大纲资料.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/wenku/235220.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219