普及组课程表

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

第一讲

程序概念和整数算术运算

第二讲

实数算术运算

第三讲

变量和变量的类型

第四讲

赋值语句和数学表达式

第五讲

变量的读入(一)

第六讲

变量的读入(二)

第七讲

顺序结构程序设计实例

第八讲

if语句和关系表达式

第九讲

逻辑表达式和条件表达式

第十讲

switch语句

第十一讲

补充与练习

第十二讲

for循环

第十三讲

for循环综合应用(一)

第十四讲

for循环综合应用(二)

第十五讲

while语句

第十六讲

do-while语句

第十七讲

多重循环(一)

第十八讲

多重循环(二)

第十九讲

一维数组

第二十讲

活用数组下标(一)

第二十一讲

活用数组下标(二)

第二十二讲

活用数组下标(三)

第二十三讲

数值排序算法

第二十四讲

数值查找算法

第二十五讲

字符数组

第二十六讲

二维数组

第二十七讲

数组综合应用(1)

第二十八讲

数组综合应用(2)

第二十九讲

入门篇复习

第三十讲

函数

第三十一讲

递归函数

第三十二讲

string 类型

第三十三讲

string 类型应用

第三十四讲

高精度计算(一)

第三十五讲

高精度计算(二)

第三十六讲

结构和联合

第三十七讲

结构体数组应用

第三十八讲

指针(一)

第三十九讲

指针(二)

第四十讲

文件

 

课程二:NOIP-链表的数据结构和算法训练课程表 共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. 队列的应用举例

 

第十一讲

栈的基本操作

  1. 表达式括号匹配  
  2. 括弧匹配检验
  3. 字符串匹配问题 

第十二讲

栈的应用

  1. 计算
  2. 车厢调度
  3. 中缀表达式值

 

第十三讲

队列基本操作

  1. 面积
  2. 奇怪的电梯
  3. 产生数

第十四讲

队列的应用

  1. 家庭问题   
  2. 最少步数
  3. 细胞
 
课程三:NOIP-树和图的数据结构和算法训练课程表 共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)

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

 

 

 

 

 

 

 

 

第十三讲

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

1)控制公司  

2)Chino的树学

3)树的分解 

4)高手去散步

第十四讲

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

1)树

2)吃奶酪

3)数字三角形

第十五讲

树的搜索—广度优先搜索

1)北京2008的挂钟

2)医院设置

3)找人

第十六讲

二叉树

1)递归创建二叉树

2)二叉树重建 

3)FBI树

4)下落的树叶 

5)树 Tree

第十七讲

最近公共祖先

1)二叉树问题

2)让我们异或吧

3)Milk Visits S

4)专心OI - 找祖先

 

 

 

 

 

 

 

 

 

 

 

 

 

第十八讲

图的遍历-深度优先搜索

1)图的遍历

2)高手去散步

3)食物链

第十九讲

图的遍历-广度优先搜索

1)最短路计数   

2)机器人搬重物

第二十讲

欧拉回路

1)瑞瑞的木棍

2)无序字母对

第二十一讲

拓扑排序-关键路径

1)排序

2)杂务

3)最长路

4)旅行计划  

5)月亮之眼   

6)车站分级

第二十二讲

最短路径-Dijkstra

1)Milk Pumping G

2)香甜的黄油

3)海拔

4)最短路计数

第二十三讲

最短路径-Floyd及最小环

 

1)Vacation Planning S

2)观光旅游

3)最短路上的统计

4)道路重建

第二十四讲

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

1)修复公路

2)口袋的天空

3)家族

4)朋友

第二十五讲

并查集-带权并查集

 

1)食物链

2)平面几何

3)团伙

第二十六讲

最小生成树-Kruskal

1)无线通讯网

2)繁忙的都市

3)Watering the Fields S

4)Building Roads S

第二十七讲

最小生成树-Prim及其优化

 

1)Watering Hole

2)Mzc家中的男家丁

第二十八讲

图的连通性-连通分量

 

1)Fence Planning S

2)Victoria的舞会3

3)Closing the Farm S

4)牛的舞会The Cow Prom

5)联络员(liaison)