普及组课程表

NOIP-C++课程表

第一讲

程序概念和整数算术运算

第二讲

实数算术运算

第三讲

变量和变量的类型

第四讲

赋值语句和数学表达式

第五讲

变量的读入(一)

第六讲

变量的读入(二)

第七讲

顺序结构程序设计实例

第八讲

if语句和关系表达式

第九讲

逻辑表达式和条件表达式

第十讲

switch语句

第十一讲

补充与练习

第十二讲

for循环

第十三讲

for循环综合应用(一)

第十四讲

for循环综合应用(二)

第十五讲

while语句

第十六讲

do-while语句

第十七讲

多重循环(一)

第十八讲

多重循环(二)

第十九讲

一维数组

第二十讲

活用数组下标(一)

第二十一讲

活用数组下标(二)

第二十二讲

活用数组下标(三)

第二十三讲

数值排序算法

第二十四讲

数值查找算法

第二十五讲

字符数组

第二十六讲

二维数组

第二十七讲

数组综合应用(1)

第二十八讲

数组综合应用(2)

第二十九讲

入门篇复习

第三十讲

函数

第三十一讲

递归函数

第三十二讲

string 类型

第三十三讲

string 类型应用

第三十四讲

高精度计算(一)

第三十五讲

高精度计算(二)

第三十六讲

结构和联合

第三十七讲

结构体数组应用

第三十八讲

指针(一)

第三十九讲

指针(二)

第四十讲

文件

NOIP-数据结构课程表

阶段

课次

课程标题

主要内容

第一讲

预备内容(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)

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

第十二讲

树(2)

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

第十三讲

树(3)

  1. 哈夫曼树的构造
  2. 哈夫曼树的算法设计

第十四讲

树(4)

树的应用举例:

  1. 二叉判定树
  2. 二叉排序树
  3. 平衡二叉排序树

第十五讲

图(1)

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

第十六讲

图(2)

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

第十七讲

图(3)

最短路径

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

第十八讲

图(4)

有向无环图及其应用

  1. 拓扑排序
  2. 关键路径

第十九讲

查找和排序

  1. 常用查找方法及查找效率分析
  2. 常用排序算法稳定性及效率分析

NOIP-普及组数学课程表

课次

课程标题

主要内容

第一讲

整除

(1)取模

(2)因数

(3)最大公因数  辗转相除法,更相减损法

(4)最小公倍数

第二讲

素数

  1. 朴素的素数的判断及筛选
  2. 埃氏筛选法

第三讲

质因数

  1. 分解质因数
  2. 因数个数

第四讲

数列

  1. 等差数列
  2. 等比数列

第五讲

集合

  1. 集合的基本性质
  2. 容斥原理

第六讲

组合数学—计数原理(1)

  1. 加法原理
  2. 乘法原理

第七讲

组合数学—计数原理(2)

  1. 抽屉原理
  2. 鸽巢原理

第八讲

组合数学—排列

  1. 选排列
  2. 错位排列
  3. 圆排列

第九讲

组合数学—组合

组合数

第十讲

二项式定理

(1)杨辉三角

NOIP-普及组算法课程表

课次

课程标题

主要内容

第一讲

模拟

模拟法

第二讲

枚举及离散化

  1. 枚举法
  2. 数据离散化

第三讲

二分(一)

二分查找

第四讲

二分(二)

二分答案

第五讲

分治

分治

第六讲

贪心

贪心

第七讲

记忆化搜索

记忆化搜索

第八讲

动态规划—背包

(1)0/1背包

(2)完全背包

第九讲

动态规划—子序列(一)

最长连续上升子序列

第十讲

动态规划—子序列(二)

最长上升子序列

第十一讲

动态规划—子序列(三)

最长公共子序列