mirror of
https://github.com/JackeyLea/NJUCS.git
synced 2026-02-02 17:49:08 +08:00
添加初试资料
This commit is contained in:
@@ -1,344 +1,344 @@
|
||||
《数据结构》教学大纲及班级周历
|
||||
|
||||
|
||||
课程名:
|
||||
数据结构
|
||||
|
||||
|
||||
英文名:
|
||||
Data Structures
|
||||
|
||||
|
||||
先修课程:
|
||||
离散数学、程序设计基础
|
||||
|
||||
|
||||
建议教材:
|
||||
《数据结构(用面向对象方法与C++描述)第二版》(清华大学出版社) 殷人昆等
|
||||
|
||||
|
||||
参考资料:
|
||||
1. 《数据结构与算法描述——C语言描述》(机械工业出版社)(美)Mark Allen Weiss
|
||||
|
||||
2. 《数据结构》(第2版)(清华大学出版社)严蔚敏
|
||||
|
||||
|
||||
教学内容:
|
||||
第一部分 基本概念和算法分析
|
||||
|
||||
? 什么是数据结构
|
||||
|
||||
数据、数据对象、数据结构、逻辑结构、存储结构。定义以及举例
|
||||
|
||||
? 抽象数据类型及面向对象概念
|
||||
|
||||
定义、举例(自然数的抽象数据类型定义)
|
||||
|
||||
? 模板
|
||||
|
||||
简单介绍
|
||||
|
||||
? 算法和算法分析
|
||||
|
||||
算法的定义及特性、算法的性能标准、算法分析、空间复杂度和时间复杂度的渐进表示法
|
||||
|
||||
|
||||
|
||||
第二部分 线性表
|
||||
|
||||
? 顺序表
|
||||
|
||||
定义和特点、操作(查找、插入、删除)、应用
|
||||
|
||||
? 单链表
|
||||
|
||||
特点、存储表示、实现、操作(建立、插入、删除)、带表头结点的单链表、静态链表结构
|
||||
|
||||
? 循环链表
|
||||
|
||||
特点、实现、搜索操作、回收循环链表、用循环链表求解约瑟夫问题
|
||||
|
||||
? 双向链表
|
||||
|
||||
结构、定义、操作(搜索、插入、删除)
|
||||
|
||||
? 多项式及其相加
|
||||
|
||||
多项式的链表表示、多项式链表的相加
|
||||
|
||||
|
||||
|
||||
第三部分 栈和队列
|
||||
|
||||
? 栈
|
||||
|
||||
定义、抽象数据类型表示、顺序栈、链式栈、双栈共享一个空间
|
||||
|
||||
? 表达式求值
|
||||
|
||||
算术表达式、应用后缀表示计算表达式的值、中缀表达式转换为后缀表达式
|
||||
|
||||
? 栈和递归
|
||||
|
||||
递归的概念、递归的方法、递归的举例、构成递归的条件
|
||||
|
||||
? 递归过程与递归工作栈
|
||||
|
||||
递归工作栈在递归过程中的工作原理
|
||||
|
||||
? 队列
|
||||
|
||||
定义、抽象数据类型表示、操作(出队、入队)、循环队列、链式队列、应用
|
||||
|
||||
? 优先级队列
|
||||
|
||||
概念、简单实现
|
||||
|
||||
|
||||
|
||||
第四部分 数组、串和广义表
|
||||
|
||||
? 作为抽象数据类型的数组
|
||||
|
||||
数组的定义和初始化、一维数组、二维和多维数组、数组的顺序存储方式
|
||||
|
||||
? 特殊矩阵
|
||||
|
||||
对称矩阵、三角矩阵、三对角矩阵等的压缩存储表示
|
||||
|
||||
? 稀疏矩阵
|
||||
|
||||
稀疏矩阵的三元组存储表示和正交链表的存储表示形式和相关操作
|
||||
|
||||
? 字符串
|
||||
|
||||
定义、抽象数据类型表示、部分操作的实现、模式匹配(朴素的模式匹配算法和KMP算法)
|
||||
|
||||
? 广义表
|
||||
|
||||
概念、特性、表示、head和tail操作、存储实现、递归算法(复制、判等、删除、建立等)
|
||||
|
||||
|
||||
|
||||
第五部分 树与二叉树
|
||||
|
||||
? 树和森林的概念
|
||||
|
||||
定义、特点、术语
|
||||
|
||||
? 二叉树
|
||||
|
||||
定义、性质及证明、举例
|
||||
|
||||
? 二叉树的表示
|
||||
|
||||
顺序表示、链表表示、静态结构表示、实现
|
||||
|
||||
? 二叉树遍历
|
||||
|
||||
前序(中序、后序)遍历的递归实现和非递归实现、二叉树的建立、应用二叉树遍历的实例
|
||||
|
||||
? 线索化二叉树
|
||||
|
||||
概念、链表表示、中序(前序、后序)线索化二叉树、主要操作(求后继和前驱、建立线索化、插入、删除)
|
||||
|
||||
? 树与森林
|
||||
|
||||
存储表示、树(森林)与二叉树的转换、树(森林)的遍历
|
||||
|
||||
? 堆
|
||||
|
||||
定义、建立(Filterdown调整算法)、插入(FilterUp调整算法)、删除堆顶元素
|
||||
|
||||
? Huffman树
|
||||
|
||||
带权路径长度的概念、Huffman树、Huffman算法、Huffman编码
|
||||
|
||||
|
||||
|
||||
第六部分 集合与字典
|
||||
|
||||
? 集合
|
||||
|
||||
集合的基本表示(位向量、有序链表)、集合相关操作的实现
|
||||
|
||||
? 等价类与并查集
|
||||
|
||||
确定等价类的算法、并查集的概念、并查集的主要操作及算法分析
|
||||
|
||||
? 字典
|
||||
|
||||
字典的有序顺序表和有序链表表示、有序顺序表和有序链表中查找操作的实现
|
||||
|
||||
? 散列
|
||||
|
||||
基本概念、散列函数(直接定址法、数字分析法、除留取余法、平方取中法、折叠法等)、处理冲突的方法(线性探查法、二次探查法、双散列法、链地址法)、散列表分析
|
||||
|
||||
|
||||
|
||||
第七部分 搜索结构
|
||||
|
||||
? 静态搜索表
|
||||
|
||||
搜索的概念、顺序搜索、折半搜索
|
||||
|
||||
? 二叉搜索树
|
||||
|
||||
定义、三种基本操作(查找、插入、删除)
|
||||
|
||||
? AVL树
|
||||
|
||||
定义及性质、平衡化旋转、主要操作(插入、删除)、AVL树的高度
|
||||
|
||||
|
||||
|
||||
第八部分 图(着重讲解算法的实现技巧和分析)
|
||||
|
||||
? 图的基本概念
|
||||
|
||||
定义、有向图、无向图、完全图、邻接顶点、子图、路径、度、连通等
|
||||
|
||||
? 图的存储表示
|
||||
|
||||
邻接矩阵、邻接表、邻接多重表
|
||||
|
||||
? 图的遍历与连通性
|
||||
|
||||
深度优先搜索、广度优先搜索、连通分量、重连通分量
|
||||
|
||||
? 最小生成树
|
||||
|
||||
Kruskal算法、Prim算法
|
||||
|
||||
? 最短路径
|
||||
|
||||
Dijkstra算法、Bellman and Ford算法、Floyd算法
|
||||
|
||||
? 活动网络
|
||||
|
||||
AOV网(拓扑排序)、VOE网络(关键路径)
|
||||
|
||||
|
||||
|
||||
第九部分 排序 (着重讲解各种算法的特点、比较及分析)
|
||||
|
||||
? 基本概念
|
||||
|
||||
排序、关键码、稳定性、算法分析(时间和空间开销)
|
||||
|
||||
? 插入排序
|
||||
|
||||
直接插入排序、 折半插入排序、Shell排序
|
||||
|
||||
? 交换排序
|
||||
|
||||
冒泡排序、快速排序
|
||||
|
||||
? 选择排序
|
||||
|
||||
直接选择、 锦标赛、堆排序
|
||||
|
||||
? 归并排序
|
||||
|
||||
2-路归并算法、迭代的归并排序算法、递归的归并排序算法
|
||||
|
||||
? 基数排序
|
||||
|
||||
基本思想、多关键码排序、链式基数排序
|
||||
|
||||
|
||||
|
||||
第十部分 文件、外部排序与外部搜索
|
||||
|
||||
? 静态索引结构
|
||||
|
||||
线性索引(稠密和稀疏索引)、m路静态搜索树
|
||||
|
||||
? 动态索引结构
|
||||
|
||||
动态的m路搜索树、B-树的基本概念、B-树的操作(插入、删除)、B+树
|
||||
|
||||
|
||||
教学目标:
|
||||
通过本课程的学习,使学生能够掌握基本的数据结构的特点、存储方法和基本运算,高效地表示、存储、组织和处理数据,从而提高程序设计的质量,并能灵活运用各种数据结构来解决实际问题。
|
||||
|
||||
通过本课程的学习及课程实验,将提高学生的实际动手能力,为后续的专业基础课和专业课程(算法分析、操作系统、软件工程、数据库概论、编译原理等)打下坚实的基础。
|
||||
|
||||
|
||||
|
||||
|
||||
其它要求:
|
||||
实验安排:
|
||||
|
||||
为理解和巩固教学中的基本知识,并熟练运用各种数据结构和算法,需要一定数量的上机实验,以检查所学内容的掌握程度,发现学习中存在的问题。
|
||||
|
||||
1.实验时间:
|
||||
|
||||
本课程共安排54学时(3*18)的上机实验。
|
||||
|
||||
2.实验安排
|
||||
|
||||
本课程上机实验分两部分:
|
||||
|
||||
第一部分:根据教学进度,安排10次周实验习题,上机时间随堂检查。实习题目基本涵盖所学内容。
|
||||
|
||||
第二部分:布置课程实习大作业,综合应用所学到的数据结构和算法知识。期末检查。
|
||||
|
||||
3.实验计划安排
|
||||
|
||||
|
||||
|
||||
第几周 实验内容
|
||||
|
||||
2 数组的应用
|
||||
|
||||
3 串操作(KMP算法)
|
||||
|
||||
4 链表的应用1
|
||||
|
||||
5 链表的应用2
|
||||
|
||||
6 栈的应用
|
||||
|
||||
7 递归问题求解
|
||||
|
||||
8 递归的模拟
|
||||
|
||||
9 二叉树的建立及遍历
|
||||
|
||||
10 二叉树的应用
|
||||
|
||||
11 图的实现和应用 1
|
||||
|
||||
12 图的实现和应用 2
|
||||
|
||||
13-16周 实习大作业(综合应用习题)
|
||||
|
||||
17-18周 复习及考试
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
教学周历:
|
||||
周次 教学内容 教师 授课方式 备注
|
||||
1 数据结构基本概念 1) 什么是数据结构数据、数据对象、数据结构、逻辑结构、存储结构等的定义以及举例 2) 抽象数据类型及面向对象概念抽象数据类型定义。ADT举例(自然数的抽象数据类型定义) 3) 模板模板的基本概念 4) 算法和算法分析 算法的定义及特性、算法的性能标准、算法分析、空间复杂度和时间复杂度的渐进表示法 姜远 课堂教学
|
||||
2 线性表 1) 顺序表 定义和特点、操作(查找、插入、删除)、应用 2) 单链表 特点、存储表示、实现、操作(建立、插入、删除)、带表头结点的单链表、静态链表结构 3) 循环链表 特点、实现、搜索操作、回收循环链表、用循环链表求解约瑟夫问题 姜远 课堂教学
|
||||
3 线性表(续) 4) 双向链表 结构、定义、操作(搜索、插入、删除) 5) 多项式及其相加多项式的链表表示、多项式链表的相加 姜远 课堂教学
|
||||
4 栈和队列 1) 栈定义、抽象数据类型表示、顺序栈、链式栈、双栈共享一个空间 2) 表达式求值算术表达式、应用后缀表示计算表达式的值、中缀表达式转换为后缀表达式 3) 栈和递归递归的概念、递归的方法、递归的举例、构成递归的条件 4) 递归过程与递归工作栈递归工作栈在递归过程中的工作原理 5) 队列 定义、抽象数据类型表示、操作(出队、入队)、循环队列、链式队列的实现。 队列的应用(杨辉三角形的打印) 6) 优先级队列 概念、优先级队列的数组方式的实现 姜远 课堂教学
|
||||
5 数组、串和广义表 1) 作为抽象数据类型的数组数组的定义和初始化、一维数组、二维和多维数组、数组的顺序存储方式 2) 特殊矩阵对称矩阵、三角矩阵、三对角矩阵等的压缩存储表示 3) 稀疏矩阵稀疏矩阵的三元组存储表示和正交链表的存储表示形式和相关操作 4) 字符串定义、抽象数据类型表示、部分成员函数的实现、模式匹配算法(朴素的模式匹配算法和KMP算法) 5) 广义表概念、特性、表示、head和tail操作、存储实现、递归算法(复制、判等、删除、建立等) 姜远 课堂教学
|
||||
6 树与二叉树 1) 树和森林的概念定义、特点、术语 2) 二叉树定义、性质及证明、举例 3) 二叉树的表示顺序表示、链表表示、静态结构表示、实现 姜远 课堂教学
|
||||
7 树与二叉树(续) 4) 二叉树遍历 前序(中序、后序)遍历的递归实现和非递归实现、二叉树的建立、应用二叉树遍历的实例 5) 线索化二叉树 概念、链表表示、中序(前序、后序)线索化二叉树、主要操作(求后继和前驱、建立线索化、插入、删除) 6) 树与森林存储表示、树(森林)与二叉树的转换、树(森林)的遍历 姜远 课堂教学
|
||||
8 树与二叉树(续) 7) 堆定义、建立(Filterdown调整算法)、插入(FilterUp调整算法)、删除堆顶元素 8) Huffman树带权路径长度的概念、Huffman树、Huffman算法、Huffman编码 姜远 课堂教学
|
||||
9 集合与字典 1) 集合集合的基本表示(位向量、有序链表)、集合相关操作的实现 2) 等价类与并查集确定等价类的算法、并查集的概念、并查集的主要操作及算法分析 3) 字典字典的有序顺序表和有序链表表示、有序顺序表和有序链表中查找操作的实现 姜远 课堂教学
|
||||
10 集合与字典(续) 4) 散列 基本概念、散列函数(直接定址法、数字分析法、除留取余法、平方取中法、折叠法等)、处理冲突的方法(线性探查法、二次探查法、双散列法、链地址法)、散列表分析 姜远 课堂教学
|
||||
11 搜索结构 1) 静态搜索表搜索的概念、顺序搜索、折半搜索 2) 二叉搜索树定义、三种基本操作(查找、插入、删除) 3) AVL树定义及性质、平衡化旋转、主要操作(插入、删除)、AVL树的高度 姜远 课堂教学
|
||||
12 图 1) 图的基本概念定义、有向图、无向图、完全图、邻接顶点、子图、路径、度、连通等 2) 图的存储表示邻接矩阵、邻接表、邻接多重表 3) 图的遍历与连通性 深度优先搜索算法、广度优先搜索算法连通分量、重连通分量的概念和相关算法 姜远 课堂教学
|
||||
13 图(续) 4) 最小生成树 Kruskal算法、Prim算法 5) 最短路径 Dijkstra算法、Bellman and Ford算法、Floyd算法 姜远 课堂教学
|
||||
14 图(续) 6) 活动网络 AOV网(拓扑排序)、VOE网络(关键路径) 排序 1) 基本概念排序、关键码、稳定性、算法分析(时间和空间开销) 2) 插入排序直接插入排序、 折半插入排序、Shell排序 姜远 课堂教学
|
||||
15 排序(续) 3) 交换排序 冒泡排序、快速排序 4) 选择排序直接选择、 锦标赛、堆排序 姜远 课堂教学
|
||||
16 排序(续) 5) 归并排序 2-路归并算法、迭代的归并排序算法、递归的归并排序算法 6) 基数排序 基本思想、多关键码排序、链式基数排序 姜远 课堂教学
|
||||
17 外部排序与外部搜索 1) 静态索引结构 线性索引(稠密和稀疏索引)、m路静态搜索树 2) 动态索引结构 动态的m路搜索树、B-树的基本概念、B-树的操作(插入、删除)、B+树 姜远 课堂教学
|
||||
18 复习 全面复习前面所学习的知识点。讲解习题。 姜远 课堂教学
|
||||
《数据结构》教学大纲及班级周历
|
||||
|
||||
|
||||
课程名:
|
||||
数据结构
|
||||
|
||||
|
||||
英文名:
|
||||
Data Structures
|
||||
|
||||
|
||||
先修课程:
|
||||
离散数学、程序设计基础
|
||||
|
||||
|
||||
建议教材:
|
||||
《数据结构(用面向对象方法与C++描述)第二版》(清华大学出版社) 殷人昆等
|
||||
|
||||
|
||||
参考资料:
|
||||
1. 《数据结构与算法描述——C语言描述》(机械工业出版社)(美)Mark Allen Weiss
|
||||
|
||||
2. 《数据结构》(第2版)(清华大学出版社)严蔚敏
|
||||
|
||||
|
||||
教学内容:
|
||||
第一部分 基本概念和算法分析
|
||||
|
||||
? 什么是数据结构
|
||||
|
||||
数据、数据对象、数据结构、逻辑结构、存储结构。定义以及举例
|
||||
|
||||
? 抽象数据类型及面向对象概念
|
||||
|
||||
定义、举例(自然数的抽象数据类型定义)
|
||||
|
||||
? 模板
|
||||
|
||||
简单介绍
|
||||
|
||||
? 算法和算法分析
|
||||
|
||||
算法的定义及特性、算法的性能标准、算法分析、空间复杂度和时间复杂度的渐进表示法
|
||||
|
||||
|
||||
|
||||
第二部分 线性表
|
||||
|
||||
? 顺序表
|
||||
|
||||
定义和特点、操作(查找、插入、删除)、应用
|
||||
|
||||
? 单链表
|
||||
|
||||
特点、存储表示、实现、操作(建立、插入、删除)、带表头结点的单链表、静态链表结构
|
||||
|
||||
? 循环链表
|
||||
|
||||
特点、实现、搜索操作、回收循环链表、用循环链表求解约瑟夫问题
|
||||
|
||||
? 双向链表
|
||||
|
||||
结构、定义、操作(搜索、插入、删除)
|
||||
|
||||
? 多项式及其相加
|
||||
|
||||
多项式的链表表示、多项式链表的相加
|
||||
|
||||
|
||||
|
||||
第三部分 栈和队列
|
||||
|
||||
? 栈
|
||||
|
||||
定义、抽象数据类型表示、顺序栈、链式栈、双栈共享一个空间
|
||||
|
||||
? 表达式求值
|
||||
|
||||
算术表达式、应用后缀表示计算表达式的值、中缀表达式转换为后缀表达式
|
||||
|
||||
? 栈和递归
|
||||
|
||||
递归的概念、递归的方法、递归的举例、构成递归的条件
|
||||
|
||||
? 递归过程与递归工作栈
|
||||
|
||||
递归工作栈在递归过程中的工作原理
|
||||
|
||||
? 队列
|
||||
|
||||
定义、抽象数据类型表示、操作(出队、入队)、循环队列、链式队列、应用
|
||||
|
||||
? 优先级队列
|
||||
|
||||
概念、简单实现
|
||||
|
||||
|
||||
|
||||
第四部分 数组、串和广义表
|
||||
|
||||
? 作为抽象数据类型的数组
|
||||
|
||||
数组的定义和初始化、一维数组、二维和多维数组、数组的顺序存储方式
|
||||
|
||||
? 特殊矩阵
|
||||
|
||||
对称矩阵、三角矩阵、三对角矩阵等的压缩存储表示
|
||||
|
||||
? 稀疏矩阵
|
||||
|
||||
稀疏矩阵的三元组存储表示和正交链表的存储表示形式和相关操作
|
||||
|
||||
? 字符串
|
||||
|
||||
定义、抽象数据类型表示、部分操作的实现、模式匹配(朴素的模式匹配算法和KMP算法)
|
||||
|
||||
? 广义表
|
||||
|
||||
概念、特性、表示、head和tail操作、存储实现、递归算法(复制、判等、删除、建立等)
|
||||
|
||||
|
||||
|
||||
第五部分 树与二叉树
|
||||
|
||||
? 树和森林的概念
|
||||
|
||||
定义、特点、术语
|
||||
|
||||
? 二叉树
|
||||
|
||||
定义、性质及证明、举例
|
||||
|
||||
? 二叉树的表示
|
||||
|
||||
顺序表示、链表表示、静态结构表示、实现
|
||||
|
||||
? 二叉树遍历
|
||||
|
||||
前序(中序、后序)遍历的递归实现和非递归实现、二叉树的建立、应用二叉树遍历的实例
|
||||
|
||||
? 线索化二叉树
|
||||
|
||||
概念、链表表示、中序(前序、后序)线索化二叉树、主要操作(求后继和前驱、建立线索化、插入、删除)
|
||||
|
||||
? 树与森林
|
||||
|
||||
存储表示、树(森林)与二叉树的转换、树(森林)的遍历
|
||||
|
||||
? 堆
|
||||
|
||||
定义、建立(Filterdown调整算法)、插入(FilterUp调整算法)、删除堆顶元素
|
||||
|
||||
? Huffman树
|
||||
|
||||
带权路径长度的概念、Huffman树、Huffman算法、Huffman编码
|
||||
|
||||
|
||||
|
||||
第六部分 集合与字典
|
||||
|
||||
? 集合
|
||||
|
||||
集合的基本表示(位向量、有序链表)、集合相关操作的实现
|
||||
|
||||
? 等价类与并查集
|
||||
|
||||
确定等价类的算法、并查集的概念、并查集的主要操作及算法分析
|
||||
|
||||
? 字典
|
||||
|
||||
字典的有序顺序表和有序链表表示、有序顺序表和有序链表中查找操作的实现
|
||||
|
||||
? 散列
|
||||
|
||||
基本概念、散列函数(直接定址法、数字分析法、除留取余法、平方取中法、折叠法等)、处理冲突的方法(线性探查法、二次探查法、双散列法、链地址法)、散列表分析
|
||||
|
||||
|
||||
|
||||
第七部分 搜索结构
|
||||
|
||||
? 静态搜索表
|
||||
|
||||
搜索的概念、顺序搜索、折半搜索
|
||||
|
||||
? 二叉搜索树
|
||||
|
||||
定义、三种基本操作(查找、插入、删除)
|
||||
|
||||
? AVL树
|
||||
|
||||
定义及性质、平衡化旋转、主要操作(插入、删除)、AVL树的高度
|
||||
|
||||
|
||||
|
||||
第八部分 图(着重讲解算法的实现技巧和分析)
|
||||
|
||||
? 图的基本概念
|
||||
|
||||
定义、有向图、无向图、完全图、邻接顶点、子图、路径、度、连通等
|
||||
|
||||
? 图的存储表示
|
||||
|
||||
邻接矩阵、邻接表、邻接多重表
|
||||
|
||||
? 图的遍历与连通性
|
||||
|
||||
深度优先搜索、广度优先搜索、连通分量、重连通分量
|
||||
|
||||
? 最小生成树
|
||||
|
||||
Kruskal算法、Prim算法
|
||||
|
||||
? 最短路径
|
||||
|
||||
Dijkstra算法、Bellman and Ford算法、Floyd算法
|
||||
|
||||
? 活动网络
|
||||
|
||||
AOV网(拓扑排序)、VOE网络(关键路径)
|
||||
|
||||
|
||||
|
||||
第九部分 排序 (着重讲解各种算法的特点、比较及分析)
|
||||
|
||||
? 基本概念
|
||||
|
||||
排序、关键码、稳定性、算法分析(时间和空间开销)
|
||||
|
||||
? 插入排序
|
||||
|
||||
直接插入排序、 折半插入排序、Shell排序
|
||||
|
||||
? 交换排序
|
||||
|
||||
冒泡排序、快速排序
|
||||
|
||||
? 选择排序
|
||||
|
||||
直接选择、 锦标赛、堆排序
|
||||
|
||||
? 归并排序
|
||||
|
||||
2-路归并算法、迭代的归并排序算法、递归的归并排序算法
|
||||
|
||||
? 基数排序
|
||||
|
||||
基本思想、多关键码排序、链式基数排序
|
||||
|
||||
|
||||
|
||||
第十部分 文件、外部排序与外部搜索
|
||||
|
||||
? 静态索引结构
|
||||
|
||||
线性索引(稠密和稀疏索引)、m路静态搜索树
|
||||
|
||||
? 动态索引结构
|
||||
|
||||
动态的m路搜索树、B-树的基本概念、B-树的操作(插入、删除)、B+树
|
||||
|
||||
|
||||
教学目标:
|
||||
通过本课程的学习,使学生能够掌握基本的数据结构的特点、存储方法和基本运算,高效地表示、存储、组织和处理数据,从而提高程序设计的质量,并能灵活运用各种数据结构来解决实际问题。
|
||||
|
||||
通过本课程的学习及课程实验,将提高学生的实际动手能力,为后续的专业基础课和专业课程(算法分析、操作系统、软件工程、数据库概论、编译原理等)打下坚实的基础。
|
||||
|
||||
|
||||
|
||||
|
||||
其它要求:
|
||||
实验安排:
|
||||
|
||||
为理解和巩固教学中的基本知识,并熟练运用各种数据结构和算法,需要一定数量的上机实验,以检查所学内容的掌握程度,发现学习中存在的问题。
|
||||
|
||||
1.实验时间:
|
||||
|
||||
本课程共安排54学时(3*18)的上机实验。
|
||||
|
||||
2.实验安排
|
||||
|
||||
本课程上机实验分两部分:
|
||||
|
||||
第一部分:根据教学进度,安排10次周实验习题,上机时间随堂检查。实习题目基本涵盖所学内容。
|
||||
|
||||
第二部分:布置课程实习大作业,综合应用所学到的数据结构和算法知识。期末检查。
|
||||
|
||||
3.实验计划安排
|
||||
|
||||
|
||||
|
||||
第几周 实验内容
|
||||
|
||||
2 数组的应用
|
||||
|
||||
3 串操作(KMP算法)
|
||||
|
||||
4 链表的应用1
|
||||
|
||||
5 链表的应用2
|
||||
|
||||
6 栈的应用
|
||||
|
||||
7 递归问题求解
|
||||
|
||||
8 递归的模拟
|
||||
|
||||
9 二叉树的建立及遍历
|
||||
|
||||
10 二叉树的应用
|
||||
|
||||
11 图的实现和应用 1
|
||||
|
||||
12 图的实现和应用 2
|
||||
|
||||
13-16周 实习大作业(综合应用习题)
|
||||
|
||||
17-18周 复习及考试
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
教学周历:
|
||||
周次 教学内容 教师 授课方式 备注
|
||||
1 数据结构基本概念 1) 什么是数据结构数据、数据对象、数据结构、逻辑结构、存储结构等的定义以及举例 2) 抽象数据类型及面向对象概念抽象数据类型定义。ADT举例(自然数的抽象数据类型定义) 3) 模板模板的基本概念 4) 算法和算法分析 算法的定义及特性、算法的性能标准、算法分析、空间复杂度和时间复杂度的渐进表示法 姜远 课堂教学
|
||||
2 线性表 1) 顺序表 定义和特点、操作(查找、插入、删除)、应用 2) 单链表 特点、存储表示、实现、操作(建立、插入、删除)、带表头结点的单链表、静态链表结构 3) 循环链表 特点、实现、搜索操作、回收循环链表、用循环链表求解约瑟夫问题 姜远 课堂教学
|
||||
3 线性表(续) 4) 双向链表 结构、定义、操作(搜索、插入、删除) 5) 多项式及其相加多项式的链表表示、多项式链表的相加 姜远 课堂教学
|
||||
4 栈和队列 1) 栈定义、抽象数据类型表示、顺序栈、链式栈、双栈共享一个空间 2) 表达式求值算术表达式、应用后缀表示计算表达式的值、中缀表达式转换为后缀表达式 3) 栈和递归递归的概念、递归的方法、递归的举例、构成递归的条件 4) 递归过程与递归工作栈递归工作栈在递归过程中的工作原理 5) 队列 定义、抽象数据类型表示、操作(出队、入队)、循环队列、链式队列的实现。 队列的应用(杨辉三角形的打印) 6) 优先级队列 概念、优先级队列的数组方式的实现 姜远 课堂教学
|
||||
5 数组、串和广义表 1) 作为抽象数据类型的数组数组的定义和初始化、一维数组、二维和多维数组、数组的顺序存储方式 2) 特殊矩阵对称矩阵、三角矩阵、三对角矩阵等的压缩存储表示 3) 稀疏矩阵稀疏矩阵的三元组存储表示和正交链表的存储表示形式和相关操作 4) 字符串定义、抽象数据类型表示、部分成员函数的实现、模式匹配算法(朴素的模式匹配算法和KMP算法) 5) 广义表概念、特性、表示、head和tail操作、存储实现、递归算法(复制、判等、删除、建立等) 姜远 课堂教学
|
||||
6 树与二叉树 1) 树和森林的概念定义、特点、术语 2) 二叉树定义、性质及证明、举例 3) 二叉树的表示顺序表示、链表表示、静态结构表示、实现 姜远 课堂教学
|
||||
7 树与二叉树(续) 4) 二叉树遍历 前序(中序、后序)遍历的递归实现和非递归实现、二叉树的建立、应用二叉树遍历的实例 5) 线索化二叉树 概念、链表表示、中序(前序、后序)线索化二叉树、主要操作(求后继和前驱、建立线索化、插入、删除) 6) 树与森林存储表示、树(森林)与二叉树的转换、树(森林)的遍历 姜远 课堂教学
|
||||
8 树与二叉树(续) 7) 堆定义、建立(Filterdown调整算法)、插入(FilterUp调整算法)、删除堆顶元素 8) Huffman树带权路径长度的概念、Huffman树、Huffman算法、Huffman编码 姜远 课堂教学
|
||||
9 集合与字典 1) 集合集合的基本表示(位向量、有序链表)、集合相关操作的实现 2) 等价类与并查集确定等价类的算法、并查集的概念、并查集的主要操作及算法分析 3) 字典字典的有序顺序表和有序链表表示、有序顺序表和有序链表中查找操作的实现 姜远 课堂教学
|
||||
10 集合与字典(续) 4) 散列 基本概念、散列函数(直接定址法、数字分析法、除留取余法、平方取中法、折叠法等)、处理冲突的方法(线性探查法、二次探查法、双散列法、链地址法)、散列表分析 姜远 课堂教学
|
||||
11 搜索结构 1) 静态搜索表搜索的概念、顺序搜索、折半搜索 2) 二叉搜索树定义、三种基本操作(查找、插入、删除) 3) AVL树定义及性质、平衡化旋转、主要操作(插入、删除)、AVL树的高度 姜远 课堂教学
|
||||
12 图 1) 图的基本概念定义、有向图、无向图、完全图、邻接顶点、子图、路径、度、连通等 2) 图的存储表示邻接矩阵、邻接表、邻接多重表 3) 图的遍历与连通性 深度优先搜索算法、广度优先搜索算法连通分量、重连通分量的概念和相关算法 姜远 课堂教学
|
||||
13 图(续) 4) 最小生成树 Kruskal算法、Prim算法 5) 最短路径 Dijkstra算法、Bellman and Ford算法、Floyd算法 姜远 课堂教学
|
||||
14 图(续) 6) 活动网络 AOV网(拓扑排序)、VOE网络(关键路径) 排序 1) 基本概念排序、关键码、稳定性、算法分析(时间和空间开销) 2) 插入排序直接插入排序、 折半插入排序、Shell排序 姜远 课堂教学
|
||||
15 排序(续) 3) 交换排序 冒泡排序、快速排序 4) 选择排序直接选择、 锦标赛、堆排序 姜远 课堂教学
|
||||
16 排序(续) 5) 归并排序 2-路归并算法、迭代的归并排序算法、递归的归并排序算法 6) 基数排序 基本思想、多关键码排序、链式基数排序 姜远 课堂教学
|
||||
17 外部排序与外部搜索 1) 静态索引结构 线性索引(稠密和稀疏索引)、m路静态搜索树 2) 动态索引结构 动态的m路搜索树、B-树的基本概念、B-树的操作(插入、删除)、B+树 姜远 课堂教学
|
||||
18 复习 全面复习前面所学习的知识点。讲解习题。 姜远 课堂教学
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,53 +1,53 @@
|
||||
《计算机网络》教学大纲及班级周历
|
||||
|
||||
|
||||
课程名:
|
||||
计算机网络
|
||||
|
||||
|
||||
英文名:
|
||||
Foundations of Computer Networks
|
||||
|
||||
|
||||
先修课程:
|
||||
计算机结构原理、数据通信、程序设计、数据结构、操作系统
|
||||
|
||||
|
||||
建议教材:
|
||||
James F. Kurose, Keith W. Ross 著, 陈鸣译, 计算机网络:自顶向下方法(原书第6版),机械工业出版社
|
||||
|
||||
|
||||
参考资料:
|
||||
William Stallings,数据与计算机通信(第7版)(Data & Computer Communications, Seventh Edition),电子工业出版社 参考书: 1. 谢希仁,计算机网络,第四版,电子工业出版社,2003 2. Andrew S. Tanenbaum, Computer Networks,4e(中译本),潘新民译,清华大学出版社,2004 3. Behrouz A. Forouzan, TCP/IP Protocol Suite,2e (中译本),谢希仁译,清华大学出版社,2003 4. James F.Kurose, Computer Networking(影印本),高等教育出版社,2001 5. 顾尚杰,计算机通信网基础,电子工业出版社,2000 6. Michael A. Gallo,Computer Communications and Networking Technologies(影印本),高等教育出版社,2003 7. William Stallings, Local & Metropolitan Area Networks, 2e(中译本),电子工业出版社,2002 8. William Stallings,Cryptography and Networks Security, 2e(中译本),电子工业出版社,2001 9. Craig Zacker, Networking: The Complete Reference(中译本),机械工业出版社,2002
|
||||
|
||||
|
||||
教学内容:
|
||||
本第1讲 网络概述(2学时) 1.1 网络的发展过程 1.2 网络的分类 1.3 网络的构成 1.4 网络配置举例 1.5 数据通信网回顾 第2讲 协议体系结构(4学时) 2.1 协议体系结构的必要性 2.2 简单的协议体系结构 2.3 OSI参考模型 2.4 TCP/IP协议体系结构 2.5 实例--简单文件传送协议 第3讲 网络中的路由选择(4学时) 3.1 电路交换网中的路由选择 3.2 分组交换网中的路由选择 3.3 最小代价算法 3.4 ARPANET路由选择举例 第4讲 网络中的拥塞(4学时) 4.1 拥塞的后果 4.2 拥塞控制 4.3 通信量管理 4.4 分组交换网络中的拥塞控制 4.5 帧中继拥塞控制 4.6 ATM通信量管理 4.7 ATM-GFR通信量管理 第5讲 局域网概述(4学时) 5.1 背景 5.2 拓扑结构和传输媒体 5.3 局域网协议体系结构 5.4 网桥 5.5 第二层和第三层交换机 第6讲 高速局域网(6学时) 6.1 高速局域网的出现 6.2 以太网 6.3 以太网性能问题 6.4 令牌环 6.5 光纤通道 第7讲 无线局域网(4学时) 7.1 概述 7.2 无线局域网技术 7.3 IEEE 802.11体系结构和服务 7.4 IEEE 802.11媒体接入控制 7.5 IEEE 802.11物理层 第8讲 网际互联协议(6学时) 8.1 协议的基本功能 8.2 网际互联的基本原理 8.3 无连接的网际互联 8.4 网际协议 8.5 IPv6 第9讲 互联网的操作(6学时) 9.1 组播 9.2 路由选择协议 9.3 综合服务体系结构 9.4 区分服务 第10讲 运输协议(6学时) 10.1 面向连接的运输协议机制 10.2 TCP 10.3 TCP拥塞控制 10.4 UDP 第11讲 网络安全(6学时) 11.1 安全需求及攻击 11.2 对称加密技术的保密性 11.3 报文鉴别及散列函数 11.4 公开密钥加密和数字签名 11.5 安全套接字层和运输层安全性 11.6 IPv4和IPv6的安全性 11.7 防火墙 第12讲 分布式应用(6学时) 12.1 抽象语法标记1(ASN.1) 12.2 OSI的应用层 12.3 网络管理--CMIP和SNMP 12.4 电子邮件--SMTP和MIME 12.5 超文本传送协议--HTTP 12.6 文件传输协议--FTP 12.7 远程登录--TELNET 12.8 NFS和RPC 12.9 DHCP和BOOTP 技术各专业的必修课,它可以使学生能较系统地学习计算机网络的工作原理,体系结构、分层协议,网络互连,网络新技术基础知识,使学生了解和掌握计算机网络的技术原理和设计方法。并通过实践环节,使学生加深对网络中常用基本算法的理解,了解组网技术和网络程序设计,熟悉一些网络工具软件的使用。学习本课程要求学生应具有计算机组织结构,操作系统和数据通信基础知识。
|
||||
|
||||
|
||||
教学目标:
|
||||
本课程面向局域网以及Internet环境,以讨论计算机网络体系结构及其各层功能和协议为主线,广泛介绍当今计算机网络领域中采用的技术及其最新进展。包括:OSI、IEEE802和TCP/IP网络体系结构,网络拓扑,有线/无线媒体多路接入,逻辑链路控制,典型局域网技术与系统,网络寻址及组播,路由选择及其算法,网络流量控制与拥塞控制,网络性能分析及模型,互联网以及网络互连设备与网际互联协议,基于Internet的服务质量(QoS),高层协议与分布式应用,网络安全,网络管理,网络规划设计与综合布线。 课程目的的与要求: 本课程是计算机科学与技术各专业的必修课,它可以使学生能较系统地学习计算机网络的工作原理,体系结构、分层协议,网络互连,网络新技术基础知识,使学生了解和掌握计算机网络的技术原理和设计方法。并通过实践环节,使学生加深对网络中常用基本算法的理解,了解组网技术和网络程序设计,熟悉一些网络工具软件的使用。学习本课程要求学生应具有计算机组织结构,操作系统和数据通信基础知识。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
教学周历:
|
||||
周次 教学内容 教师 授课方式 备注
|
||||
1 课程介绍,Internet简介及应用 夏耐 课堂教学
|
||||
2 直接相连网络1,实验 夏耐 实验教学
|
||||
3 直接相连网络2 夏耐 课堂教学
|
||||
4 直接相连网络3,实验 夏耐 实验教学
|
||||
5 分组交换网络1 夏耐 课堂教学
|
||||
6 分组交换网络2,实验 夏耐 实验教学
|
||||
7 互联网1 夏耐 课堂教学
|
||||
8 互联网2,实验 夏耐 实验教学
|
||||
9 互联网3 夏耐 课堂教学
|
||||
10 TCP协议1,实验 夏耐 实验教学
|
||||
11 TCP协议2 夏耐 课堂教学
|
||||
12 TCP协议3,实验 夏耐 实验教学
|
||||
13 拥塞控制 夏耐 课堂教学
|
||||
14 服务质量1,实验 夏耐 实验教学
|
||||
15 服务质量2 夏耐 课堂教学
|
||||
16 网络安全1,实验 夏耐 实验教学
|
||||
17 网络安全2 夏耐 课堂教学
|
||||
18 网络应用,实验 夏耐 实验教学
|
||||
《计算机网络》教学大纲及班级周历
|
||||
|
||||
|
||||
课程名:
|
||||
计算机网络
|
||||
|
||||
|
||||
英文名:
|
||||
Foundations of Computer Networks
|
||||
|
||||
|
||||
先修课程:
|
||||
计算机结构原理、数据通信、程序设计、数据结构、操作系统
|
||||
|
||||
|
||||
建议教材:
|
||||
James F. Kurose, Keith W. Ross 著, 陈鸣译, 计算机网络:自顶向下方法(原书第6版),机械工业出版社
|
||||
|
||||
|
||||
参考资料:
|
||||
William Stallings,数据与计算机通信(第7版)(Data & Computer Communications, Seventh Edition),电子工业出版社 参考书: 1. 谢希仁,计算机网络,第四版,电子工业出版社,2003 2. Andrew S. Tanenbaum, Computer Networks,4e(中译本),潘新民译,清华大学出版社,2004 3. Behrouz A. Forouzan, TCP/IP Protocol Suite,2e (中译本),谢希仁译,清华大学出版社,2003 4. James F.Kurose, Computer Networking(影印本),高等教育出版社,2001 5. 顾尚杰,计算机通信网基础,电子工业出版社,2000 6. Michael A. Gallo,Computer Communications and Networking Technologies(影印本),高等教育出版社,2003 7. William Stallings, Local & Metropolitan Area Networks, 2e(中译本),电子工业出版社,2002 8. William Stallings,Cryptography and Networks Security, 2e(中译本),电子工业出版社,2001 9. Craig Zacker, Networking: The Complete Reference(中译本),机械工业出版社,2002
|
||||
|
||||
|
||||
教学内容:
|
||||
本第1讲 网络概述(2学时) 1.1 网络的发展过程 1.2 网络的分类 1.3 网络的构成 1.4 网络配置举例 1.5 数据通信网回顾 第2讲 协议体系结构(4学时) 2.1 协议体系结构的必要性 2.2 简单的协议体系结构 2.3 OSI参考模型 2.4 TCP/IP协议体系结构 2.5 实例--简单文件传送协议 第3讲 网络中的路由选择(4学时) 3.1 电路交换网中的路由选择 3.2 分组交换网中的路由选择 3.3 最小代价算法 3.4 ARPANET路由选择举例 第4讲 网络中的拥塞(4学时) 4.1 拥塞的后果 4.2 拥塞控制 4.3 通信量管理 4.4 分组交换网络中的拥塞控制 4.5 帧中继拥塞控制 4.6 ATM通信量管理 4.7 ATM-GFR通信量管理 第5讲 局域网概述(4学时) 5.1 背景 5.2 拓扑结构和传输媒体 5.3 局域网协议体系结构 5.4 网桥 5.5 第二层和第三层交换机 第6讲 高速局域网(6学时) 6.1 高速局域网的出现 6.2 以太网 6.3 以太网性能问题 6.4 令牌环 6.5 光纤通道 第7讲 无线局域网(4学时) 7.1 概述 7.2 无线局域网技术 7.3 IEEE 802.11体系结构和服务 7.4 IEEE 802.11媒体接入控制 7.5 IEEE 802.11物理层 第8讲 网际互联协议(6学时) 8.1 协议的基本功能 8.2 网际互联的基本原理 8.3 无连接的网际互联 8.4 网际协议 8.5 IPv6 第9讲 互联网的操作(6学时) 9.1 组播 9.2 路由选择协议 9.3 综合服务体系结构 9.4 区分服务 第10讲 运输协议(6学时) 10.1 面向连接的运输协议机制 10.2 TCP 10.3 TCP拥塞控制 10.4 UDP 第11讲 网络安全(6学时) 11.1 安全需求及攻击 11.2 对称加密技术的保密性 11.3 报文鉴别及散列函数 11.4 公开密钥加密和数字签名 11.5 安全套接字层和运输层安全性 11.6 IPv4和IPv6的安全性 11.7 防火墙 第12讲 分布式应用(6学时) 12.1 抽象语法标记1(ASN.1) 12.2 OSI的应用层 12.3 网络管理--CMIP和SNMP 12.4 电子邮件--SMTP和MIME 12.5 超文本传送协议--HTTP 12.6 文件传输协议--FTP 12.7 远程登录--TELNET 12.8 NFS和RPC 12.9 DHCP和BOOTP 技术各专业的必修课,它可以使学生能较系统地学习计算机网络的工作原理,体系结构、分层协议,网络互连,网络新技术基础知识,使学生了解和掌握计算机网络的技术原理和设计方法。并通过实践环节,使学生加深对网络中常用基本算法的理解,了解组网技术和网络程序设计,熟悉一些网络工具软件的使用。学习本课程要求学生应具有计算机组织结构,操作系统和数据通信基础知识。
|
||||
|
||||
|
||||
教学目标:
|
||||
本课程面向局域网以及Internet环境,以讨论计算机网络体系结构及其各层功能和协议为主线,广泛介绍当今计算机网络领域中采用的技术及其最新进展。包括:OSI、IEEE802和TCP/IP网络体系结构,网络拓扑,有线/无线媒体多路接入,逻辑链路控制,典型局域网技术与系统,网络寻址及组播,路由选择及其算法,网络流量控制与拥塞控制,网络性能分析及模型,互联网以及网络互连设备与网际互联协议,基于Internet的服务质量(QoS),高层协议与分布式应用,网络安全,网络管理,网络规划设计与综合布线。 课程目的的与要求: 本课程是计算机科学与技术各专业的必修课,它可以使学生能较系统地学习计算机网络的工作原理,体系结构、分层协议,网络互连,网络新技术基础知识,使学生了解和掌握计算机网络的技术原理和设计方法。并通过实践环节,使学生加深对网络中常用基本算法的理解,了解组网技术和网络程序设计,熟悉一些网络工具软件的使用。学习本课程要求学生应具有计算机组织结构,操作系统和数据通信基础知识。
|
||||
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
教学周历:
|
||||
周次 教学内容 教师 授课方式 备注
|
||||
1 课程介绍,Internet简介及应用 夏耐 课堂教学
|
||||
2 直接相连网络1,实验 夏耐 实验教学
|
||||
3 直接相连网络2 夏耐 课堂教学
|
||||
4 直接相连网络3,实验 夏耐 实验教学
|
||||
5 分组交换网络1 夏耐 课堂教学
|
||||
6 分组交换网络2,实验 夏耐 实验教学
|
||||
7 互联网1 夏耐 课堂教学
|
||||
8 互联网2,实验 夏耐 实验教学
|
||||
9 互联网3 夏耐 课堂教学
|
||||
10 TCP协议1,实验 夏耐 实验教学
|
||||
11 TCP协议2 夏耐 课堂教学
|
||||
12 TCP协议3,实验 夏耐 实验教学
|
||||
13 拥塞控制 夏耐 课堂教学
|
||||
14 服务质量1,实验 夏耐 实验教学
|
||||
15 服务质量2 夏耐 课堂教学
|
||||
16 网络安全1,实验 夏耐 实验教学
|
||||
17 网络安全2 夏耐 课堂教学
|
||||
18 网络应用,实验 夏耐 实验教学
|
||||
|
||||
Reference in New Issue
Block a user