《数据结构》教学大纲.docx
《《数据结构》教学大纲.docx》由会员分享,可在线阅读,更多相关《《数据结构》教学大纲.docx(9页珍藏版)》请在冰豆网上搜索。
《数据结构》教学大纲
《数据结构》教学大纲
课程编号:
课程性质:
专业基础课
课程类别:
必修课
先修课程:
C程序设计
学分:
2
总学时数:
72
周学时数:
4
开课单位:
计算机科学系
一、课程简介
本课程是计算机专业基础课。
主要内容有:
数据结构和算法设计与分析的基本知识,各种基本数据结构的定义,存储结构、相应的算法以及应用,掌握基本的数据结构与算法的关系。
培养计算机专业的学生结合实际应用,设计有效的算法和数据结构的能力。
二、培养目标
通过本课程的学习,使学生了解软件分析阶段、设计阶段、编码阶段的若干基本问题,明确数据结构的内容包括抽象、实现和评价三个层次,即五个基本组成“要素”逻辑结构,存储结构、基本运算、算法及不同数据结构的比较与算法分析,初步具备分析问题、解决问题的能力,养成良好的程序设计风格。
为学生在此领域中继续学习和研究打下坚实的基础。
三、课程内容(请细化到每一节的内容)
第一章绪论
§1.1什么是数据结构
【学时】:
1
【了解】:
数据结构研究的主要内容
【掌握】:
使学生准确掌握数据结构的概念
【重点】:
【难点】:
§1.2基本概念和术语
【学时】:
1
【了解】:
数据结构中涉及的基本概念
【掌握】:
【重点】:
【难点】:
§1.3抽象数据类型的表示与实现
【学时】:
1
【了解】:
使学生了解抽象数据类型的概念
【掌握】:
【重点】:
【难点】:
§1.4算法和算法分析
【学时】:
1
【了解】:
了解算法的存储空间需求
【掌握】:
使学生理解算法的概念;掌握算法效率的度量。
【重点】:
掌握算法效率的度量
【难点】:
掌握算法效率的度量
第二章线性表
§2.1线性表的类型和定义
【学时】:
2
【了解】:
【掌握】:
使学生准确掌握线性表的基本概念。
【重点】:
【难点】:
§2.2线性表的顺序表示和实现
【学时】:
4
【了解】:
【掌握】:
使学生掌握顺序存储的线性表
【重点】:
顺序存储的线性表的实现
【难点】:
§2.3线性表的链式存储和实现抽象
【学时】:
4
【了解】:
【掌握】:
使学生掌握链式存储的线性表
【重点】:
【难点】:
链式存储的线性表的实现
第三章栈和队列
§3.1栈的定义及实现
【学时】:
2
【了解】:
【掌握】:
使学生掌握栈的定义、表示和实现
【重点】:
【难点】:
§3.2栈的应用
【学时】:
4
【了解】:
【掌握】:
使学生掌握栈的操作特点
【重点】:
栈操作的应用——数制转换
【难点】:
§3.3队列的定义及实现
【学时】:
2
【了解】:
【掌握】:
使学生掌握队列的定义、表示和实现
【重点】:
【难点】:
§3.4队列的应用
【学时】:
2
【了解】:
使学生了解循环队列以及其相关操作
【掌握】:
使学生掌握队列的操作的特点
【重点】:
【难点】:
第四章串
§4.1串的定义
【学时】:
1
【了解】:
【掌握】:
使学生掌握串的概念
【重点】:
【难点】:
§4.2串的表示与实现
【学时】:
3
【了解】:
【掌握】:
使学生掌握串的表示与实现方法
【重点】:
【难点】:
第五章数组与广义表
§5.1数组的类型定义
【学时】:
1
【了解】:
【掌握】:
掌握数组的概念
【重点】:
【难点】:
§5.2数组的顺序表示和实现
【学时】:
3
【了解】:
【掌握】:
使学生掌握数组的存储结构。
【重点】:
一、二维数组的存储实现方法
【难点】:
§5.3矩阵的压缩存储
【学时】:
2
【了解】:
了解矩阵的压缩存储
【掌握】:
【重点】:
【难点】:
第六章树和二叉树
§6.1树的定义和基本术语
【学时】:
2
【了解】:
【掌握】:
使学生掌握树的基本定义和基本术语
【重点】:
【难点】:
§6.2二叉树
【学时】:
4
【了解】:
【掌握】:
使学生准确掌握二叉树的基本定义和基本性质;使学生掌握二叉树的存储结构
【重点】:
【难点】:
§6.3遍历二叉树和线索二叉树
【学时】:
4
【了解】:
线索二叉树的过程
【掌握】:
掌握遍历二叉树的方法
【重点】:
先序、中序和后序遍历方法
【难点】:
§6.4哈夫曼树及其应用
【学时】:
4
【了解】:
【掌握】:
掌握赫夫曼树及其应用
【重点】:
如何构造赫夫曼树
【难点】:
赫夫曼树在通讯等领域中的应用
第七章图
§7.1图的定义和术语
【学时】:
2
【了解】:
【掌握】:
理解图的定义和术语
【重点】:
【难点】:
§7.2图的存储结构
【学时】:
2
【了解】:
【掌握】:
熟练掌握图的存储结构(邻接矩阵和邻接表)
【重点】:
邻接矩阵和邻接表
【难点】:
§7.3图的遍历
【学时】:
2
【了解】:
【掌握】:
熟练掌握图的遍历方法:
深度优先搜索和广度优先搜索
【重点】:
【难点】:
§7.4图的连通性问题
【学时】:
1
【了解】:
【掌握】:
理解图的连通性问题
【重点】:
【难点】:
§7.5有向无回图及其应用
【学时】:
3
【了解】:
【掌握】:
掌握最小生成树算法:
克鲁斯卡尔算法、普里姆算法
【重点】:
【难点】:
克鲁斯卡尔算法、普里姆算法
第八章查找
§8.1静态查找表
【学时】:
2
【了解】:
【掌握】:
熟练掌握静态查找表算法:
顺序查找、折半查找
【重点】:
顺序查找、折半查找
【难点】:
折半查找
§8.2动态查找
【学时】:
2
【了解】:
【掌握】:
掌握动态查找表:
二叉排序树
【重点】:
【难点】:
§8.3哈希表
【学时】:
2
【了解】:
【掌握】:
理解哈希表的概念及构造方法,领会处理冲突的方法
【重点】:
【难点】:
第九章排序
§9.1概述
【学时】:
2
【了解】:
【掌握】:
使学生准确掌握排序以及其相关概念。
【重点】:
【难点】:
§9.2插入排序
【学时】:
2
【了解】:
【掌握】:
使学生掌握插入排序法
【重点】:
【难点】:
§9.3快速排序
【学时】:
2
【了解】:
【掌握】:
使学生掌握交换排序法
【重点】:
【难点】:
§9.4选择排序
【学时】:
2
【了解】:
【掌握】:
掌握选择排序法
【重点】:
【难点】:
四、采用的教学手段和方法
全过程采用多媒体教学
五、教材及参考资料
教材:
《数据结构》(C语言版) 严蔚敏等编著 清华大学出版社
《数据结构题集》(C语言版) 严蔚敏等编著 清华大学出版社
参考教材:
《数据结构》 许卓群 高等教育出版社
《数据结构C++实现》 殷人昆 清华大学出版社
六、课程内容和建议学时分配
序号
教学内容
课内学时
实验学时
一
绪论
4
0
二
线性表
6
4
三
栈和队列
6
4
四
串
2
2
五
数组与广义表
4
2
六
树与二叉树
8
4
七
图
8
2
八
查找
6
2
九
排序
8
合 计
52
20
七、考核形式与成绩计算
考试方式:
闭卷
成绩计算:
考试成绩70%,平时成绩30%
八、教学方法建议