第一阶段:C++语言
每次课1个小时,包括理论20分钟、实操20分钟、练习题20分钟。
共需27个小时。
课次 | 内容 |
1 | C++语言介绍 |
2 | 赋值语句 |
3 | 运算符和表达式 |
4 | 常量和变量 |
5 | 标准数据类型 |
6 | 数据输入输出 |
7 | 程序控制结构介绍 |
8 | 顺序程序结构 |
9 | if选择结构 |
10 | switch选择结构 |
11 | for循环结构 |
12 | while循环结构 |
13 | do-while循环结构 |
14 | 循环嵌套 |
15 | 一维数组 |
16 | 二维数组 |
17 | 字符类型和字符数组 |
18 | 函数 |
19 | 递归算法 |
20 | 文件操作 |
21 | 结构体 |
22 | 指针变量 |
23 | 指针与数组 |
24 | 指针与字符串 |
25 | 指针与函数 |
26 | 结构体指针 |
27 | 链表结构 |
第二阶段:数据结构
每次课3个小时,包括理论1个小时、实操1个小时、练习题1个小时。
共需42个小时。
课次 | 内容 |
1 | 栈 |
2 | 哈希 |
3 | 集合 |
4 | 字符串哈希 |
5 | 队列 |
6 | 树 |
7 | 二叉树 |
8 | 堆 |
9 | 图的表示 |
10 | 图的遍历 |
11 | 最短路径算法 |
12 | 图的连通性问题 |
13 | 并查集 |
14 | 最小生成树 |
第三阶段:基础算法
每次课3个小时,包括理论1个小时、实操1个小时、练习题1个小时。
共需39个小时。
课次 | 内容 |
1 | 复杂度 |
2 | 高精度计算 |
3 | 初级排序 |
4 | 高级排序 |
5 | 递推 |
6 | 递归 |
7 | 二分查找与二分答案 |
8 | 贪心算法 |
9 | 前缀和 |
10 | 深度优先搜索 |
11 | 广度优先搜索 |
12 | 动态规划入门 |
13 | 线性动态规划 |
第四阶段:高级算法
每次课3个小时,包括理论1个小时、实操1个小时、练习题1个小时。
共需39个小时。
课次 | 内容 |
1 | 区间DP 环上DP 背包模型 |
2 | STL |
3 | RMQ问题 |
4 | ST表 |
5 | 线段树 |
6 | 树状数组 |
7 | 二叉堆 |
8 | LCA |
9 | 树形DP 数位DP 状压DP |
10 | 最短路问题 拓扑排序 |
11 | 最小生成树 连通性问题 |
12 | KMP 字典树 |
13 | GCD LCM 素数筛法 欧几里得 |