普及组(L1和L2)课程表

Level1:课程一、NOIP-C++课程表 共40讲

第一讲

程序概念和整数算术运算

第二讲

实数算术运算

第三讲

变量和变量的类型

第四讲

赋值语句和数学表达式

第五讲

变量的读入(一)

第六讲

变量的读入(二)

第七讲

顺序结构程序设计实例

第八讲

if语句和关系表达式

第九讲

逻辑表达式和条件表达式

第十讲

switch语句

第十一讲

补充与练习

第十二讲

for循环

第十三讲

for循环综合应用(一)

第十四讲

for循环综合应用(二)

第十五讲

while语句

第十六讲

do-while语句

第十七讲

多重循环(一)

第十八讲

多重循环(二)

第十九讲

一维数组

第二十讲

活用数组下标(一)

第二十一讲

活用数组下标(二)

第二十二讲

活用数组下标(三)

第二十三讲

数值排序算法

第二十四讲

数值查找算法

第二十五讲

字符数组

第二十六讲

二维数组

第二十七讲

数组综合应用(1)

第二十八讲

数组综合应用(2)

第二十九讲

入门篇复习

第三十讲

函数

第三十一讲

递归函数

第三十二讲

string 类型

第三十三讲

string 类型应用

第三十四讲

高精度计算(一)

第三十五讲

高精度计算(二)

第三十六讲

结构和联合

第三十七讲

结构体数组应用

第三十八讲

指针(一)

第三十九讲

指针(二)

第四十讲

文件

 

Level2:课程一、链表的数据结构和算法训练课程表 共14讲

阶段

课次

课程标题

主要内容

 

第一讲

预备内容(1)

  1. 数据结构课程与C++程序设计课程教学内容与教学方式的比较。
  2. 存储一组结构相同数据的方法:静态数组、动态数组

第二讲

预备内容(2)

  1. 存储一组结构相同数据的方法:链式存储结构的实现
  2. 单向链表的分类
  3. 实现动态存储结构的函数

第三讲

预备内容(3)

  1. 链表的综合操作——建立链表
  2. 链表的综合操作——查找

第四讲

预备内容(4)

  1. 链表的综合操作——插入新结点
  2. 链表的综合操作——删除结点
  3. Typedef命令的使用

 

线

第五讲

线性表(1)

  1. 数据结构中的重要概念和术语
  2. 线性表的顺序表示及基本操作在顺序结构上的实现

第六讲

线性表(2)

  1. 线性表的链式表示及基本操作在链式结构上的实现

第七讲

线性表(3)

  1. 线性表复杂操作在顺序结构和链式结构上的实现

第八讲

线性表(4)

  1. 线性结构的应用举例
  2. 其他形式的链式存储结构及应用

第九讲

栈和队列(1)

  1. 栈的基本概念
  2. 栈的链式实现和顺序实现
  3. 栈的应用举例

第十讲

栈和队列(2)

  1. 队列的基本概念
  2. 队列的链式实现和顺序实现
  3. 队列的应用举例

栈算

和法

队训

列练

第十一讲

栈的基本操作

若干算法训练题

第十二讲

栈的应用

若干算法训练题

第十三讲

队列基本操作

若干算法训练题

第十四讲

队列的应用

若干算法训练题

 

Level2:课程二、树和图的数据结构和算法训练课程表 共28讲

阶段

课次

课程标题

主要内容

 

 

第一讲

树(1)

  1. 树的定义和术语
  2. 二叉树的基本概念、性质及二叉树的存储

第二讲

树(2)

  1. 二叉树的遍历
  2. 二叉树遍历的递归实现

第三讲

树(3)

  1. 二叉树遍历的非递归实现
  2. 树、森林与二叉树的转换

第四讲

树(4)

树的应用举例:

  1. 哈夫曼树及哈夫曼编码
  2. 二叉判定树

第五讲

树(5)

树的应用举例:

(1)二叉排序树

(2)平衡二叉树

(3)堆

第六讲

图(1)

  1. 图的概念和术语
  2. 图的存储:邻接矩阵和邻接表

第七讲

图(2)

  1. 图的遍历:广度优先遍历和深度优先遍历
  2. 最小生成树:普里姆算法和克鲁斯卡尔算法

第八讲

图(3)

最短路径

  1. 关节点的判断
  2. 拓扑排序
  3. 关键路径-1

第九讲

图(4)

  1. 有向无环图及其应用
  2. 关键路径-2
  3. 最短路径的概念

第十讲

图(5)

最短路径

  1. 单原点最短路径
  2. 所有顶点对之间的最短路径

第十一讲

查找和排序(1)

常用查找方法及查找效率分析

第十二讲

查找和排序(2)

常用排序算法稳定性及效率分析

 

第十三讲

树的搜索—深度优先搜索-数据的快速读入

若干算法题目

第十四讲

树的搜索—深度优先搜索—剪枝及优化

若干算法题目

第十五讲

树的搜索—广度优先搜索

若干算法题目

第十六讲

二叉树

若干算法题目

第十七讲

最近公共祖先

若干算法题目

 

第十八讲

图的遍历-深度优先搜索

若干算法题目

第十九讲

图的遍历-广度优先搜索

若干算法题目

第二十讲

欧拉回路

若干算法题目

第二十一讲

拓扑排序-关键路径

若干算法题目

第二十二讲

最短路径-Dijkstra

若干算法题目

第二十三讲

最短路径-Floyd及最小环

若干算法题目

第二十四讲

并查集-压缩路径、按秩合并

若干算法题目

第二十五讲

并查集-带权并查集

若干算法题目

第二十六讲

最小生成树-Kruskal

若干算法题目

第二十七讲

最小生成树-Prim及其优化

若干算法题目

第二十八讲

图的连通性-连通分量

若干算法题目