数据结构C语言版教学大纲.docx
- 文档编号:606272
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:13
- 大小:17.76KB
数据结构C语言版教学大纲.docx
《数据结构C语言版教学大纲.docx》由会员分享,可在线阅读,更多相关《数据结构C语言版教学大纲.docx(13页珍藏版)》请在冰点文库上搜索。
《数据结构(C语言版)》教学大纲
湖南省郴州职业技术学院计算机系
编写时间:
2004年8月28日
13
《数据结构(C语言版)》教学大纲
一、课程性质、任务和基本要求
⒈本课程的教学目的和要求
用计算机来解决实际问题时,就要涉及到数据的表示及数据的
处理,而数据表示及数据处理正是数据结构课程的主要研究对象,通过这两方面内容的学习,为后续课程,特别是软件方面的课程打下了厚实的知识基础,同时也提供了必要的技能训练。
因此,数据结构课程在计算机应用中具有举足轻重的作用。
本课程的任务是:
在基础方面,要求学生掌握常用数据结构的基本概念及其不同的实现方法;在技能方面,通过系统学习能够在不同存储结构上实现不同的运算,并对算法设计的方式和技巧有所体会。
⒉本课程的主要内容
⑴数据、数据元素和数据项的概念及其相互间的关系;数据结
构的逻辑结构、存储结构的联系与区别以及在数据结构上施加的运算及其实现。
⑵线性表的定义及其运算;顺序表和链表的定义、组织形式、结构特征和类型说明以及在这两种表上实现的插入、删除和按值查找的算法。
循环链表、双(循环)链表的结构特点和在其上施加的插入、删除等操作。
⑶栈和队列的定义、特征及在其上所定义的基本运算,在两种存储结构上对栈和队列所施加的基本运算的实现。
⑷串的定义、存储方式和常用的串运算;多维数组的结构特点和在内存中的两种顺序存储方式,矩阵和三角矩阵元素的存储。
⑸树的定义、性质及其存储方法;二叉树的二叉链表存储方式、结点结构和类型定义;二叉树的遍历算法;树、森林与二叉树间的相互转换;哈夫曼树的构造方法。
⑹图的基本概念及术语;图的两种存储结构(邻接矩阵和邻接
表)的表示方法;图的遍历(深度优先搜索遍历和广度优先搜索遍历)算
法;最小生成树的构造;拓扑排序、关键路径以及最短路径算法。
⑺查找的基本思想及查找成功和不成功的概念;在顺序表、有序表、索引表、散列表等上的查找方法和算法;二叉排序树、平衡二叉树以及B-树的概念和有关算法;散列表的构造。
⑻排序的基本思想和基本概念;插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序及基数排序的基本思想、步骤及算法。
⒊教学重点及难点
⑴领会数据、数据元素和数据项的概念及其相互间的关系。
清
楚数据结构的逻辑结构、存储结构的联系与区别,以及在数据结构上施加的运算及其实现。
会进行简单的算法分析。
⑵理解线性表的定义及其运算。
理解顺序表和链表的定义、组织形式、结构特征和类型说明,掌握在这两种表上实现的插入、删除和按值查找的算法。
了解循环链表、双(循环)链表的结构特点和在其上施加的插入、删除等操作。
了解串的定义、存储方式和常用的串运算。
⑶理解栈和队列的定义、特征及在其上所定义的基本运算,掌握在两种存储结构上对栈和队列所施加的基本运算的实现。
理解多维数组的结构特点和在内存中的两种顺序存储方式,对矩阵和三角矩阵能推出给定元素在存储区中的地址。
⑷深刻理解树的定义、性质及其存储方法,熟练掌握二叉树的二叉链表存储方式、结点结构和类型定义,并能画出给定二叉树的二叉链表的结构示意图;理解并掌握二叉树的三种遍历方法,并能写出该三种遍历的算法;会完成树、森林与二叉树间的相互转换;理解哈夫曼树的构造方法,并能对给定的数据集合构造出哈夫曼树。
⑸理解图的基本概念及术语,掌握图的两种存储结构(邻接矩阵和邻接表)的表示方法;熟练掌握图的两种遍历(深度优先搜索遍历和广度优先搜索遍历)的算法思想、步骤,并能列出在两种存储结构上按上述两种遍历算法得到的序列;理解最小生成树的概念,能按Prim算法构造最小生成树;了解并掌握拓扑排序、关键路径、
最短路径的算法思想。
⑹了解查找的基本思想及查找成功和不成功的概念,掌握在顺序表、有序表、索引表、散列表等上的查找方法和算法,并能求出相应的平均查找长度。
⑺了解排序的基本思想和基本概念,理解和掌握插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序和基数排序的基本思想、步骤及算法。
4.教材的选用
严蔚敏,吴伟民.数据结构(C语言版).北京:
清华大学出版社.
1999,2
内 容
讲课
实验
小计
第一章 绪论
2
2
第二章 线性表
12
4
16
第三章 栈和队列
6
2
8
第四章 串
6
2
8
第五章 数组和广义表
6
6
第六章 树和二叉树
12
4
16
第七章 图
8
4
12
第九章 查找
8
4
12
第十章 排序
8
4
12
总 计
68
16
92
二、课程时数分配
三、课程内容
第一章 概论
⒈教学内容
1.1数据结构的概念
1.2抽象数据类型
1.3算法和算法分析。
⒉教学目的及要求
⑴领会数据、数据元素和数据项的概念及其相互间的关系;
⑵清楚数据结构的逻辑结构、存储结构的联系与区别,以及在数据结构上施加的运算及其实现;
⑶理解抽象数据类型的概念;
⑷掌握进行简单算法分析的方法。
⒊教学重点
⑴数据、数据元素、数据项;
⑵逻辑结构和数据结构在概念上的联系与区别;
⑶运算的概念;
⑷存储结构及其三个组成部分;
⑸抽象数据类型和数据抽象;
⑹评价算法优劣的标准及方法。
⒋教学难点
⑴区别算法与程序;
⑵逻辑结构、存储结构的联系与区别;
⑶抽象数据类型与数据抽象;
⑷算法的时间复杂度分析。
⒌练习题
1.1 1.7 1.16
第二章 线性表
⒈教学内容
2.1 线性表逻辑结构
2.1 线性表的顺序存储及运算实现
2.3 线性表的链式存储和实现
⒉教学目的及要求
⑴理解线性表的定义及其运算;
⑵理解顺序表和链表的定义、组织形式、结构特征和类型说明;
⑶掌握在这两种表上实现的插入、删除和按值查找的算法;
⑷了解循环链表、双(循环)链表的结构特点和在其上施加的插入、删除等操作。
⒊教学重点
⑴线性表的定义及逻辑上的特点;
⑵顺序表上插入、删除和定位运算的实现;
⑶单链表的结构特点及类型说明;
⑷头指针和头结点的作用及区别;
⑸指针操作;
⑹定位、删除、插入运算在单链表上的实现;
⑺循环链表、双链表的结构特点;
⑻循环链表、双链表上删除与插入运算的实现。
⒋教学难点
⑴线性表与线性结构的联系与区别;
⑵头结点在链表中的作用;指针操作;
⑶删除、插入运算中的指针操作顺序;
⑷双链表上指针的操作顺序
⒌练习题
2.6 2.72.112.14 2.19 2.42
第三章 栈和队列
⒈教学内容
3.1栈
3.2栈应用举例
3.3队列
3.4队列应用举例
⒉教学目的及要求
⑴理解栈的定义、特征及在其上所定义的基本运算;
⑵掌握在两种存储结构上对栈所施加的基本运算的实现;
⑶理解队列的定义、特征及在其上所定义的基本运算;
⑷掌握在两种存储结构上对队列所施加的基本运算的实现。
⒊教学重点
⑴栈的定义及逻辑特点;
⑵栈上的基本运算;
⑶栈的顺序存储结构及运算实现;
⑷栈的链式存储结构;
⑸入栈、出栈等运算在链栈上的实现;
⑹队列的定义及逻辑特点;
⑺队列上的基本运算;
⑻队列的顺序存储结构及其上的运算实现;
⑼队列的链式存储结构;
⑽入队、出队等运算在链队列上的实现。
⒋教学难点
⑴顺序栈的溢出判断条件;
⑵循环队列的队空、队满判断条件;
⑶循环队列上的插入、删除操作。
⒌练习题
3.2 3.3 3.17
第四章 串
⒈教学内容
4.1串及其基本运算
4.2串的定长顺序存储及基本运算
4.3串的堆存储结构
⒉教学目的及要求
⑴了解串的定义;
⑵理解和领会串的存储方式;
⑶掌握常用的串运算。
⒊教学重点
⑴串的基本概念、基本运算;
⑵串的两种存储方式。
⑶串的模式匹配算法。
⒋教学难点
⑴串的模式匹配算法;
⑵串的基本运算的综合应用
⒌练习题
4.3 4.7 4.17 4.24
第五章 数组、特殊矩阵和广义表
⒈教学内容
5.1多维数组
5.2特殊矩阵的压缩存储
5.3稀疏矩阵
5.4广义表
⒉教学目的及要求
⑴理解多维数组的结构特点和在内存中的两种顺序存储方式;
⑵理解并掌握矩阵和特殊矩阵元素在存储区中地址的计算;
⑶领会稀疏矩阵的压缩方式和简单运算;
⑷了解广义表的定义和基本运算。
⒊教学重点
⑴多维数组的逻辑结构;
⑵多维组的两种顺序存储方式;
⑶计算给定元素在存储区中的地址;
⑷对称矩阵、三角矩阵的压缩存储方式;
⑸计算给定元素在存储区中的地址;
⑹稀疏矩阵的三元组表表示方法。
⒋教学难点
稀疏矩阵的压缩存储表示下的运算的实现
⒌练习题
5.1 5.4 5.9 5.13
第六章 树和二叉树
⒈教学内容
6.1定义与性质
6.2存储实现基本操作的实现
6.3二叉树的遍历
6.4线索二叉树
6.5二叉树的应用
⒉教学目的及要求
⑴深刻理解二叉树的定义、性质及其存储方法;
⑵熟练掌握二叉树的二叉链表存储方式、结点结构和类型定义;
⑶理解并掌握二叉树的三种遍历算法;
⑷掌握二叉树的线索化方法;
⑸灵活运用二叉树的遍历方法解决相关的应用问题。
⒊教学重点
⑴二叉树的定义、逻辑特点及五种基本形态;
⑵二叉树的五个性质;
⑶在二叉树上定义的基本运算;
⑷二叉树的链式存储结构及其类型说明;
⑸二叉树的顺序存储结构及其类型说明;
⑹二叉树链式存储结构的组织方式;
⑺二叉树的三种遍历方法及其算法;
⑻以遍历为基础在二叉树上实现的几种运算;
⑼哈夫曼树和哈夫曼算法。
⒋教学难点
⑴二叉树的递归定义;
⑵二叉树链式存储结构的组织方式;
⑶三种遍历的主要区别;
⑷二叉树上的复杂运算;
⑸哈夫曼算法及其应用。
⒌练习题
6.1 6.2 6.3 6.5 6.12 6.19 6.23 6.27
第七章 树
⒈教学内容
7.1树的概念与表示
7.2基本操作与存储
7.3树、森林与二叉树的转换
7.4树或森林的遍历
7.5树的应用
⒉教学目的及要求
⑴深刻理解树的定义、术语;
⑵领会并掌握树的各种存储结构;
⑶熟练掌握森林与二叉树间的相互转换;
⑷领会树和森林的遍历;
⑸了解树的简单应用。
⒊教学重点
⑴树的存储结构;
⑵森林与二叉树的转换。
⒋教学难点
⑴森林与二叉树的转换;
⑵判定树;
⑶等价关系与等价类问题。
⒌练习题
第七章图
⒈教学内容
8.1图的基本概念
8.2图的存储表示
8.3图的遍历
8.4图的连通性
8.5最小生成树
8.6最短路径
8.7有向无环图及其应用
⒉教学目的及要求
⑴理解图的基本概念及术语;⑵掌握图的两种存储结构(邻接
矩阵和邻接表)的表示方法;
⑶熟练掌握图的两种遍历(深度优先搜索遍历和广度优先搜索遍历)的算法思想、步骤,并能列出在两种存储结构上按上述两种遍历算法得到的序列;
⑷理解最小生成树的概念,能按Prim算法构造最小生成树;
⑸领会并掌握拓扑排序、关键路径、最短路径的算法思想。
⒊教学重点
⑴理解图的定义、术语及其含义;
⑵掌握各种图的邻接矩阵表示法及其类型说明;
⑶理解并掌握图的按深度优先搜索遍历方法和按广度优先搜索遍历方法;
⑷领会生成树和最小生成树的概念;
⑸掌握由Prim算法思想构造最小生成树按Prim算法思想;
⑹领会拓扑序列和拓扑排序的概念;
⑺理解并掌握拓扑排序的算法思想;
⑻理解并掌握关键路径的算法思想;
⑼理解并掌握最短路径的算法思想。
⒋教学难点
⑴正确理解与区别图的常用术语;
⑵区别图的两种存储结构的不同点及其应用场合;
⑶关键路径的算法思想;
⑷最短路径的算法思想。
⒌练习题
7.1 7.7 7.9 7.11
第九章 查找
⒈教学内容
9.1基本概念与术语
9.2静态查找表
9.3动态查找表
9.4哈希表查找(杂凑法)
⒉教学目的及要求
⑴了解查找的基本思想及查找成功和不成功的概念;
⑵掌握在顺序表、有序表、索引表、散列表等上的查找方法和算法,并能求出相应的平均查找长度;
⑶理解并掌握二叉排序树、平衡二叉树B-树的各种算法。
⒊教学重点
⑴查找表的基本概念及查找原理;
⑵查找表的顺序存储结构、顺序表及其类型说明;
⑶查找运算在查找表和有序表上的实现;
⑷二叉排序树的定义、性质及各结点间的键值关系;
⑸二叉排序树的查找算法和基本思想;
⑹平衡二叉排序树的概念;
⑺B-树和B+树的概念;
⑻散列表及散列存储和散列查找的基本思想;
⑼各种散列表的组织、解决冲突的方法;
⑽在散列表上实现查找、插入和删除运算的算法。
⒋教学难点
⑴理解查找表的逻辑结构是集合,它的运算以查找为核心;
⑵二叉排序树上的插入算法;
⑶平衡二叉树的旋转平衡算法;
⑷散列表上的有关算法
⒌练习题
9.2 9.8 9.11 9.19 9.22
第十章 排序
⒈教学内容
10.1基本概念
10.2插入排序
10.3交换排序
10.4选择排序
10.5二路归并排序
10.6基数排序
10.7外排序
⒉教学目的及要求
⑴领会排序的基本思想和基本概念;
⑵理解并掌握插入排序、冒泡排序、快速排序、直接选择排序、堆排序、归并排序和基数排序的基本思想、步骤、算法及时空效率分析;
⑶了解外排序的定义和基本方法。
⒊教学重点
⑴排序基本概念及内排序和外排序、稳定排序和非稳定排序的
区别;
⑵插入排序的基本思想、基本步骤和算法;
⑶冒泡排序的基本思想、基本步骤、算法和算法分析;
⑷快速排序的基本思想、基本步骤和算法;
⑸直接选择排序的基本思想、基本步骤、算法和算法分析;
⑹堆排序的基本思想、基本步骤和算法;
⑺归并排序的思想;
⑻两个有序文件合并的方法和算法;
⑼二路归并排序的算法和时空性能
⒋教学难点
⑴快速排序算法;
⑵堆排序方法
⒌练习题
10.1 10.4 10.7 10.12 10.2110.38
四、大纲说明
本课程的先修课程为离散数学和高级语言程序设计。
学习本课程必须具备C语言高级语言程序设计的基础知识与基本技能。
它的后续课程有操作系统和数据库原理等。
五、主要参考书目
[1]严蔚敏,吴伟民.数据结构(C语言版).北京:
清华大学出版社.1999,2
[2]严蔚敏,吴伟民.数据结构题集(C语言版).北京:
清华大学出版社.1999,2
[3]徐孝凯.数据结构实用教程(C/C++描述).北京:
清华大学出版社.1999,12
[4]陈慧南.数据结构(使用C++语言描述).南京:
东南大学出版社.2001,1
[5]殷人昆,陶永雷,谢若阳等.数据结构(用面向对象方法与C++描述).北京:
清华大学出版社.1999,7
编者姓名:
段东宁
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 语言版 教学大纲
![提示](https://static.bingdoc.com/images/bang_tan.gif)