← 竞赛体系
COURSE · 课程路径

CSP-J

CURRICULUM

课程大纲 · 能力地图

按「大类 → 难度 → 前后顺序」组织,共 368 个能力标签。 同一大类内循序渐进,绿色为已备教案、可直接进入学习;灰色为编写中。

程序设计基础

37 个标签 · 31 已就绪
序号知识点能力目标操作
1顺序结构01-A1-1能按“先做 A、再做 B、最后 C”的顺序写出步骤,并理解顺序改变可能改变结果。
2变量01-A1-2能声明变量、赋值并在程序中修改它的值。
3常量01-A1-3能区分“会变的值”和“永远不变的值”,并用常量表达固定数字。
4基本数据类型01-A1-4能区分整数、小数、文字三种最基本的数据类型。
5算术运算01-A1-5能正确使用 + - * / 和取模 % 进行计算,并理解“先乘除后加减”的优先级。
6关系运算01-A1-6能使用 > < >= <= == != 比较大小,得到“真 / 假”。
7逻辑运算01-A1-7能使用 and / or / not 把多个条件组合起来。
8输入输出01-A1-8能使用 input 接收用户输入,并用 print/cout 输出结果。
9条件判断01-A1-9能理解“如果…就…否则…”的决策逻辑。
10if / else01-A1-10能写出 if / else 让程序做选择。
11switch01-A1-11能理解“多分支选择”——根据一个值选多种情况之一。
12for01-A1-12能使用 for 循环把一件事重复做 N 次。
13while01-A1-13能使用 while 在条件满足时不断重复。
14do while01-A1-14能理解“先做一次,再判断要不要继续”的循环。
15break01-A1-15能使用 break 立即跳出循环。
16continue01-A1-16能使用 continue 跳过本次、进入下一次循环。
17基础调试01-A1-17能看懂报错信息,定位并修正常见错误。
18嵌套循环01-A2-1掌握"嵌套循环":在循环中再套循环,用来扫描二维结构(矩阵、棋盘)或枚举组合。
19嵌套分支01-A2-2掌握"嵌套分支":在 if 内部再写 if/else,处理多维条件,并理解 else 与哪个 if 配对。
20多条件逻辑01-A2-3掌握用 and/or/not(C++ 的 &&/||/!)组合多个布尔条件,正确写出复合判断,并理解短路求值。
21类型转换01-A2-4理解隐式/显式类型转换,分清整数除法与浮点除法,避免取整与精度错误。
22long long01-A2-5知道 int 范围有限,大数用 long long(C++ 64 位整数)避免溢出。
23浮点数基础01-A2-6理解浮点数的二进制近似表示与精度坑(相等比较、累积误差),会用 EPS 比较。
24字符与 ASCII01-A2-7理解字符在计算机中以 ASCII 码存储,掌握字符与整数的互换及常用字符区间。
25函数01-A2-8能把一段功能封装成函数,理解定义、调用、返回值,实现"一次编写、多处复用"。
26参数传递01-A2-9理解 C++ 的"值传递"——函数收到的是实参的副本,修改形参不影响外部;并知道如何把结果交回。
27引用01-A2-10理解 C++ 引用(变量的别名),用引用参数让函数修改外部变量或避免大对象拷贝。
28作用域01-A2-11理解变量作用域(局部/全局)与可见性,避免命名冲突与"未定义"错误。
29递归基础01-A2-12理解"函数调用自身"的递归思想:把大问题拆成相同的小问题,并写出正确的终止条件。
30结构体01-A2-13能把多个不同类型的数据组合成一个"结构体"类型,管理一组相关属性。
31自定义数据类型01-A2-14理解 typedef/using 与枚举 enum,给已有类型起别名、定义有限取值集合,提升可读性。
32指针基础01-A3-1课程框架已就绪,教案待补充。编写中
33函数指针基础01-A3-2课程框架已就绪,教案待补充。编写中
34递归建模01-A3-3课程框架已就绪,教案待补充。编写中
35模块化程序设计01-A3-4课程框架已就绪,教案待补充。编写中
36程序状态管理01-A3-5课程框架已就绪,教案待补充。编写中
37复杂代码调试01-A3-6课程框架已就绪,教案待补充。编写中

复杂度与算法分析

15 个标签 · 15 已就绪
序号知识点能力目标操作
43什么是算法02-A1-1理解“算法”的定义与基本特征,能区分“会做”和“有步骤、可重复地做”。
44程序执行过程02-A1-2理解代码从编写到运行的流程,以及“语句逐条执行、函数调用、输入输出”在计算机中的基本过程。
45基础时间复杂度02-A1-3建立“用操作次数随输入规模 n 的增长趋势来衡量算法快慢”的初步概念(大 O 思想)。
46常数复杂度 O(1)02-A1-4理解 O(1):无论输入多大,操作次数都固定不变,是最高效的复杂度。
47线性复杂度 O(n)02-A1-5理解 O(n):操作次数随输入规模 n 成正比增长,常见于“遍历一遍”的算法。
48O(log n)02-A2-1理解 O(log n) 时间复杂度:每次操作把问题规模减半(如二分查找),所需步数约为 log₂n,增长极慢。
49O(n log n)02-A2-2理解 O(n log n):线性乘对数,是归并、快排这类基于比较的排序能达到的最优复杂度。
50O(n²)02-A2-3理解 O(n²):双重循环的典型复杂度,常见于朴素排序与朴素枚举,适合 n 较小的场景。
51多项式复杂度02-A2-4理解多项式复杂度 O(n^k):运行时间是关于 n 的多项式,次数 k 越低越快。
52指数复杂度02-A2-5理解指数复杂度 O(2^n) 与 O(c^n):随 n 爆炸增长,常见于暴力枚举/回溯,需要剪枝或换算法。
53空间复杂度02-A2-6区分时间复杂度与空间复杂度:空间复杂度衡量算法额外占用的内存随 n 的增长。
54最坏情况02-A2-7理解最坏情况复杂度:输入最不利时算法需要的资源上界,是可靠性的保证。
55最好情况02-A2-8理解最好情况复杂度:最有利输入下的资源消耗下界,常用于"已接近目标"的快速路径。
56平均情况02-A2-9理解平均情况复杂度:对所有可能输入取期望,比最坏更贴近"典型"表现。
57嵌套循环复杂度02-A2-10掌握分析嵌套循环复杂度:内外层循环次数相乘,注意"与 n 无关"的内层与"随外层变化"的内层。

模拟与枚举

21 个标签 · 13 已就绪
序号知识点能力目标操作
73基础模拟03-A1-1理解“模拟”这一基础算法思想:按题目/过程的原样描述,一步步把流程用代码复现出来。
74数值模拟03-A1-2掌握“按数值规则逐步演算”的模拟:根据给定公式/规则,循环更新数值直至结束。
75过程模拟03-A1-3掌握“按步骤/阶段推进”的过程模拟:用状态机思想,依输入或规则在不同阶段间切换。
76条件模拟03-A1-4掌握“带分支判定的模拟”:在模拟过程中根据条件选择不同操作(if/多分支),忠实复现含规则的流程。
77简单枚举03-A1-5掌握“枚举(穷举)”思想:把所有可能情况一一尝试,找到满足条件的答案。
78分类讨论03-A1-6掌握“分类讨论”思想:把问题按条件分成若干情况,对每种情况分别处理,避免遗漏。
79多状态模拟03-A2-1掌握"多状态模拟":用多个状态变量同时刻画一个过程,按规则逐步推进直到结束。
80数组模拟03-A2-2掌握"用数组来模拟":把一排对象放进数组,通过下标访问和修改,完成排队、摆放、计数等过程。
81字符串模拟03-A2-3掌握"用字符串来模拟":把过程看成对一串字符的逐个处理,按规则生成或修改字符串。
82二维网格模拟03-A2-4掌握"二维网格模拟":用二维数组表示棋盘、地图、矩阵,通过 (行,列) 坐标更新状态。
83多重枚举03-A2-5掌握"多重枚举":同时枚举两个或更多变量(嵌套循环),在组合空间里找满足条件的解。
84枚举优化03-A2-6掌握"枚举优化":通过缩小枚举范围、提前剪枝、利用单调性,让枚举从 O(n²) 降到可接受的复杂度。
85枚举边界03-A2-7掌握"枚举边界":小心循环的开闭区间,避免漏解(off-by-one)或多解,尤其注意等号与最大/最小取值。
86完全搜索03-A3-1课程框架已就绪,教案待补充。编写中
87递归枚举03-A3-2课程框架已就绪,教案待补充。编写中
88子集枚举03-A3-3课程框架已就绪,教案待补充。编写中
89排列枚举03-A3-4课程框架已就绪,教案待补充。编写中
90状态枚举03-A3-5课程框架已就绪,教案待补充。编写中
91枚举 + 剪枝03-A3-6课程框架已就绪,教案待补充。编写中
92枚举 + 数学03-A3-7课程框架已就绪,教案待补充。编写中
93枚举 + 二分03-A3-8课程框架已就绪,教案待补充。编写中

数组与基础预处理

15 个标签 · 15 已就绪
序号知识点能力目标操作
99一维数组04-A1-1理解一维数组:连续编号的同类型容器,能用下标读写,知道数组长度是固定的(静态数组)或可变(动态数组)。
100二维数组04-A1-2理解二维数组:用"行、列"两个下标表示表格/矩阵,掌握声明、读写与遍历。
101数组遍历04-A1-3掌握数组遍历:用循环依次访问每个元素,完成查找、打印、变换等任务。
102数组统计04-A1-4掌握数组统计:在遍历数组时计算总和、平均值、个数等汇总信息。
103最大值/最小值04-A1-5掌握在数组中找最大值/最小值,以及对应的下标(位置)。
104计数数组04-A1-6掌握计数数组(桶):用数组下标表示"值",数组元素表示"出现次数",高效统计频率。
105标记数组04-A1-7掌握标记数组(visited/flag):用布尔或整型数组记录"某格/某人/某值是否已被处理过",防止重复或遗漏。
106前缀和04-A2-1掌握一维前缀和:预处理 s[i]=a[0..i-1] 的和,使任意区间和 O(1) 查询。
107二维前缀和04-A2-2掌握二维前缀和:预处理后任意子矩阵和 O(1) 查询,使用容斥公式。
108差分04-A2-3掌握一维差分:对区间加减的多次操作后,用 O(1) 标记、最后 O(n) 还原,避免每次 O(n) 修改。
109二维差分04-A2-4掌握二维差分:对子矩阵整体加减,用 O(1) 标记、最后 O(nm) 还原。
110前缀最值04-A2-5掌握前缀最值:预处理前缀的最大值/最小值,支持 O(1) 查询"从开头到某位置"的极值。
111后缀最值04-A2-6掌握后缀最值:从某位置到结尾的极值,常与前缀最值配合解决"两侧约束"问题。
112前后缀统计04-A2-7综合运用前缀与后缀预处理,解决"左侧/右侧满足条件的个数或极值"类问题。
113离线预处理04-A2-8理解离线思想:先把所有询问收集起来,按某种顺序统一处理(常配合排序或前缀结构),降低总复杂度。

排序

12 个标签 · 12 已就绪
序号知识点能力目标操作
124冒泡排序05-A1-1理解冒泡排序:反复比较相邻元素,把"大的"一步步换到右边,像气泡上浮一样把最大值冒到末尾。
125选择排序05-A1-2理解选择排序:每轮从"未排序部分"挑出最小值,放到已排序部分的末尾。
126插入排序05-A1-3理解插入排序:像整理手牌一样,把每个新元素插入到前面已排好序的部分中的正确位置。
127排序思想05-A1-4理解"为什么需要排序"以及基于比较的排序的基本思想:通过元素间的比较与交换,把无序变有序。
128稳定性05-A1-5理解排序的"稳定性":相等元素在排序后是否保持原有相对顺序;并记住常见排序是否稳定。
129快速排序05-A2-1掌握快速排序:选轴(pivot)分区,使左边≤轴、右边≥轴,再递归处理左右。
130归并排序05-A2-2掌握归并排序:分治地把两半分别排好,再合并两个有序序列,稳定且稳定 O(n log n)。
131sort05-A2-3掌握语言内置排序(Python sorted / C++ sort)的用法与复杂度,能直接对数组排序。
132自定义比较05-A2-4掌握自定义比较函数/键,按"自己定义的规则"排序(如按绝对值、按字符串长度)。
133多关键字排序05-A2-5掌握多关键字排序:先按主关键字,相同再按次关键字(用元组 key 或稳定排序组合)。
134结构体排序05-A2-6掌握对"结构体/对象数组"按某个字段排序(如学生按成绩)。
135稳定排序应用05-A2-7掌握"稳定排序"的实际应用:保留并列数据的原有顺序,或实现多关键字排序。

查找与二分

18 个标签 · 10 已就绪
序号知识点能力目标操作
146顺序查找06-A1-1掌握顺序查找:从第一个元素开始逐个比较,直到找到目标或扫完整个数组。适用于未排序数据。
147有序数组查找06-A1-2掌握在"已升序数组"中查找:仍可顺序扫描,但一旦遇到比目标大的元素即可提前停止。
148二分查找基础06-A1-3掌握二分查找:在已升序数组中,每次取中点比较,把搜索区间缩小一半,复杂度降到 O(log n)。
149lower_bound06-A2-1掌握 lower_bound:在有序数组中找"第一个 ≥ x"的位置(C++ lower_bound / 手写二分)。
150upper_bound06-A2-2掌握 upper_bound:找"第一个 > x"的位置,与 lower_bound 配合统计某值的个数。
151二分边界06-A2-3掌握二分求"边界":第一个满足 / 最后一个满足某条件的位置(答案落在有序判定函数上)。
152二分最大值06-A2-4掌握"二分答案求最大":当答案越大越难满足时,二分找满足条件的最大值。
153二分最小值06-A2-5掌握"二分答案求最小":当答案越小越难满足时,二分找满足条件的最小值。
154二分答案06-A2-6综合理解"二分答案":把最优化问题转为"判定 mid 是否可行"的二分搜索。
155单调性06-A2-7理解单调性是二分的前提:只有"判定结果随 mid 单调变化"才能用二分。
156答案二分06-A3-1课程框架已就绪,教案待补充。编写中
157二分 + 贪心06-A3-2课程框架已就绪,教案待补充。编写中
158二分 + 前缀和06-A3-3课程框架已就绪,教案待补充。编写中
159二分 + 双指针06-A3-4课程框架已就绪,教案待补充。编写中
160二分 + DP06-A3-5课程框架已就绪,教案待补充。编写中
161二分 + 图论06-A3-6课程框架已就绪,教案待补充。编写中
162最大化最小值06-A3-7课程框架已就绪,教案待补充。编写中
163最小化最大值06-A3-8课程框架已就绪,教案待补充。编写中

双指针与滑动窗口

8 个标签 · 8 已就绪
序号知识点能力目标操作
170左右指针07-A1-1掌握归并排序:用分治把数组分成两半分别排序,再合并两个有序序列,整体达到 O(n log n)。
171同向双指针07-A1-2理解归并过程可顺带统计逆序对数量,把“计数”问题转化为分治合并时的跨段计数。
172区间移动07-A1-3掌握非比较排序:计数排序用“值域桶”统计出现次数,桶排序把值域分桶后桶内再排,突破 O(n log n) 下界。
173双指针求区间07-A2-1掌握同向双指针(尺取法):用左右指针维护一个区间,根据条件移动右/左指针,高效求出满足某约束的区间。
174双指针求和07-A2-2掌握对有序数组用双指针求“和为定值”的组合:两数之和直接左右夹逼,三数之和排序后枚举首元素再双指针。
175滑动窗口07-A2-3掌握滑动窗口技巧:在数组/字符串上维护一个随指针滑动的窗口,用哈希或计数实时更新窗口内统计量(和、最值、种类数)。
176最长满足条件区间07-A2-4用可变滑动窗口求“最长满足某约束的区间”,如最多含 k 个不同字符、或子数组和≤K,掌握“超界即收缩”的模板。
177最短满足条件区间07-A2-5用可变窗口求“最短覆盖某条件的区间”,如包含全部目标字符、或子数组和≥S,掌握“满足条件才尝试收缩”。

递归、分治

14 个标签 · 9 已就绪
序号知识点能力目标操作
186递归思想08-A1-1理解递归思想:把"规模为 n 的问题"转化为"一个或多个规模更小的同类子问题",直到小到能直接解决。
187递归函数08-A1-2能把递归思想写成真正的递归函数:函数体内调用自身,并正确传递缩小后的参数。
188递归终止条件08-A1-3掌握写好递归的"第一要素":明确且正确的终止条件(base case),保证递归能停下来。
189简单递归08-A1-4通过几个经典小例子(求和、数字各位和、幂、打印)巩固递归写法,体会"相信子问题已解决"。
190分治思想08-A2-1掌握分治:把问题分成独立子问题,各自解决后合并结果(与单纯的递归区别在于"合")。
191归并排序08-A2-2用"分治"视角重写并理解归并排序的分解与合并过程。
192快速排序08-A2-3用分治视角理解快排:选轴分区使问题独立,再递归处理左右子区间。
193二分递归08-A2-4掌握二分递归:在递归中把规模对半(而非减一),复杂度降为 O(log n) 或 O(n log n)。
194递归搜索08-A2-5掌握用递归进行搜索/枚举(如 DFS 遍历、子集/排列生成),理解搜索树与回溯。
195分治 + 二分08-A3-1课程框架已就绪,教案待补充。编写中
196分治 + DP08-A3-2课程框架已就绪,教案待补充。编写中
197分治 + 数据结构08-A3-3课程框架已就绪,教案待补充。编写中
198逆序对08-A3-4课程框架已就绪,教案待补充。编写中
199CDQ 分治基础08-A3-5课程框架已就绪,教案待补充。编写中

贪心

10 个标签 · 10 已就绪
序号知识点能力目标操作
205贪心思想09-A1-1理解贪心:每一步都做"当前看起来最优"的选择,期望得到全局最优。
206局部最优09-A1-2理解"局部最优"与"全局最优"的关系,学会判断一个问题能否贪心。
207简单贪心09-A1-3通过经典简单贪心题(区间选点、拼接等)巩固贪心套路。
208直接选择09-A1-4掌握"直接选择"型贪心:每步直接挑当前最优元素(如选择排序、选最大可用)。
209排序贪心09-A2-1理解贪心算法的两个支柱:贪心选择性质(局部最优能导向全局最优)与最优子结构;并掌握“交换论证”证明。
210区间贪心09-A2-2熟练区间调度:按结束时间升序,依次选取与已选不冲突的区间,得到最多互不重叠区间。
211交换贪心09-A2-3掌握两类区间贪心:用最少点“刺穿”所有区间(按结束时间,在交集末放点);用最少区间覆盖 [0,T](按开始时间,选能接上的结束最晚者)。
212优先队列贪心09-A2-4理解哈夫曼贪心:每次合并两个最小权值,使总代价最小;用于最优前缀码与合并果子等问题。
213活动选择09-A2-5掌握“先排序再贪心”的模式:按性价比、按比值、按字典序等排序后顺序选取,常见于任务安排与拼接问题。
214区间调度09-A2-6掌握两类调度贪心:任务有截止时间求最多完成数(按截止时间贪心+可反悔);负载均衡用“最长处理时间优先”近似。

搜索

29 个标签 · 19 已就绪
序号知识点能力目标操作
226DFS 基础10DFS-A1-1掌握深度优先搜索:用递归(或栈)沿着一条路走到底再回溯,遍历所有状态/节点。
227图 DFS10DFS-A1-2用 DFS 判断两点是否连通、统计连通块个数,理解“从一个点能到达的所有点”构成连通块。
228树 DFS10DFS-A1-3用 DFS 回溯系统地枚举所有方案(全排列、子集),并在递归返回前“恢复现场”以尝试其他分支。
229网格 DFS10DFS-A1-4用 DFS 的三色标记(白/灰/黑)检测有向图是否存在环:遇到“灰色”祖先说明有回边即环。
230Flood Fill10DFS-A1-5用 DFS(逆后序)求出有向无环图的拓扑排序:每次离开节点时把它加入答案头部。
231连通块10DFS-A2-1用 DFS 在无向/有向图上求连通分量个数与每个块包含的节点,理解“从每个未访问点出发能到达的全部点”构成一个分量。
232全排列10DFS-A2-2掌握含重复元素的全排列:排序后用“同一层相同值只用一次”的剪枝避免重复排列,理解回溯中“层内去重”。
233组合10DFS-A2-3用回溯枚举从 n 个元素中选 k 个的所有组合,理解“按位置升序选”以避免重复并自然去重。
234子集10DFS-A2-4在子集枚举基础上加入约束(如子集和等于目标、或大小限制),掌握“选/不选 + 剪枝”的回溯框架。
235回溯10DFS-A2-5归纳回溯的通用范式:做选择→递归→撤销选择;并掌握两类剪枝——可行性剪枝与最优性剪枝,用以削减搜索树。
236状态搜索10DFS-A2-6把“状态”当作节点进行 DFS/回溯搜索:状态含当前位置、已收集物等;通过 visited 记录已搜状态避免重复与环。
237DFS 剪枝10DFS-A3-1课程框架已就绪,教案待补充。编写中
238搜索顺序优化10DFS-A3-2课程框架已就绪,教案待补充。编写中
239记忆化搜索10DFS-A3-3课程框架已就绪,教案待补充。编写中
240状态压缩搜索10DFS-A3-4课程框架已就绪,教案待补充。编写中
241DFS + DP10DFS-A3-5课程框架已就绪,教案待补充。编写中
242DFS + 贪心10DFS-A3-6课程框架已就绪,教案待补充。编写中
248BFS10BFS-A1-1掌握广度优先搜索:用队列逐层扩展,先访问离起点近的节点,适合求最短路与层序遍历。
249网格 BFS10BFS-A1-2用 BFS 求无权图(边权均为 1)从起点到各点的最短距离,首次访问即定距,避免重复入队。
250最短步数10BFS-A1-3掌握多源 BFS:把所有起点同时入队(距离 0),一次 BFS 即求每个点到最近起点的距离。
251Flood Fill10BFS-A1-4在网格上用 BFS(Flood Fill)求连通块大小、数量与最远格,理解“四连通/八连通”的邻居扩展。
252多源 BFS10BFS-A2-1掌握多源 BFS:把所有起点同时入队(距离 0),一次遍历即求每个点到最近起点的距离,常用于“最近设施”“地图扩散”。
253分层 BFS10BFS-A2-2掌握分层 BFS:用“每层结束标记”或“按层循环”依次处理同一距离的所有节点,便于层序遍历与按层统计。
254状态 BFS10BFS-A2-3把“状态”作为 BFS 节点求最短步数(边权为 1):状态=(位置,朝向/钥匙/已访问集合),用 visited 去重保证首次到达即最短。
255BFS + 状态10BFS-A2-4掌握双向 BFS:从起点与终点同时扩展,相遇时停止,可指数级减少搜索量;适用于状态空间大但路径深的场景。
2560-1 BFS10BFS-A3-1课程框架已就绪,教案待补充。编写中
257BFS + 位状态10BFS-A3-2课程框架已就绪,教案待补充。编写中
258BFS + 双端队列10BFS-A3-3课程框架已就绪,教案待补充。编写中
259BFS + 最短路10BFS-A3-4课程框架已就绪,教案待补充。编写中

数据结构

10 个标签 · 10 已就绪
序号知识点能力目标操作
263数组11线性结构-A1-1掌握数组:连续存储、随机访问 O(1)、按下标读写,是其他数据结构的基础。
264vector11线性结构-A1-2掌握 C++ vector(动态数组):自动扩容、尾部增删 O(1)、随机访问,是可变长数组。
265stack11线性结构-A1-3掌握栈:后进先出(LIFO),支持压栈/弹栈/取顶,常用于括号匹配、DFS。
266queue11线性结构-A1-4掌握队列:先进先出(FIFO),支持入队/出队/看队首,常用于 BFS、缓冲。
267deque11线性结构-A1-5掌握双端队列 deque:两端都能 O(1) 增删,兼具栈与队列功能,常用于滑动窗口。
268priority_queue11线性结构-A2-1巩固栈的“后进先出”:用栈判断括号是否匹配,并理解中缀转后缀后用栈求值。
269set11线性结构-A2-2理解循环队列:用定长数组 + 头尾指针(取模)实现 O(1) 入队出队,区分“满”与“空”。
270map11线性结构-A2-3掌握双端队列:两端都可 O(1) 入队/出队,用于滑动窗口、单调队列等进阶场景。
271unordered_set11线性结构-A2-4掌握单调栈:维护栈内元素单调递增/减,在线性时间内求“左边/右边第一个更大(更小)元素”。
272unordered_map11线性结构-A2-5掌握单调队列:用 deque 维护窗口内元素的单调位置,O(n) 求滑动窗口最大值/最小值。

链表

8 个标签 · 8 已就绪
序号知识点能力目标操作
283单链表12-A1-1掌握单链表:节点含值域与 next 指针,只能单向遍历,插入/删除只需改指针 O(1)(已知前驱)。
284双链表12-A1-2掌握双链表:节点含 prev 与 next,可双向遍历,删除/插在前驱或后继都方便。
285循环链表12-A1-3理解循环链表:尾节点 next 指向头,形成环,适合"轮转/环形"场景。
286链表遍历12-A1-4掌握链表遍历与常见处理:从头指针沿 next 走到尾,期间可计数、查找、反转等。
287插入删除12-A2-1掌握单链表在指定位置/按值插入与删除节点的指针操作:插入要“先连后断”防止断链,删除要记得释放/跳过。
288链表反转12-A2-2掌握单链表反转的迭代与递归两种写法:迭代用三指针(prev/cur/next)逐个翻转指向,递归从尾部回溯翻转。
289快慢指针12-A2-3掌握快慢指针(龟兔赛跑):快指针走两步、慢指针走一步,可判环、求中点、找倒数第 k 个节点。
290链表合并12-A2-4掌握合并两个升序链表:用 dummy 哨兵节点,比较两链表头节点值,小的接上并后移,最后接剩余。

并查集

7 个标签 · 0 已就绪
序号知识点能力目标操作
296并查集概念13-A1-1课程框架已就绪,教案待补充。编写中
297Find13-A1-2课程框架已就绪,教案待补充。编写中
298Union13-A1-3课程框架已就绪,教案待补充。编写中
299路径压缩13-A2-1课程框架已就绪,教案待补充。编写中
300按秩合并13-A2-2课程框架已就绪,教案待补充。编写中
301按大小合并13-A2-3课程框架已就绪,教案待补充。编写中
302连通块13-A2-4课程框架已就绪,教案待补充。编写中

树

15 个标签 · 15 已就绪
序号知识点能力目标操作
311树的定义14基础树-A1-1理解树的定义与基本术语:根、父/子、叶子、度、深度、高度,以及二叉树与多叉树的区别。
312根14基础树-A1-2掌握二叉树的重要性质:第 i 层最多 2^(i-1) 个节点,深度为 h 的二叉树最多 2^h-1 个节点,叶子与度为 2 节点数关系。
313父节点14基础树-A1-3区分满二叉树(每层全满)与完全二叉树(层序填满、最后一层从左连续),并理解完全二叉树用数组存储的优势。
314子节点14基础树-A1-4掌握二叉树的顺序存储(数组按下标表示左右孩子),理解其适合完全二叉树、对一般树有空洞浪费。
315叶节点14基础树-A1-5掌握二叉树的链式存储:用节点结构(val, left, right)动态建树,理解它与顺序存储的取舍。
316深度14基础树-A1-6掌握三种深度遍历的递归写法:先序(根左右)、中序(左根右)、后序(左右根),理解访问根的顺序差异。
317高度14基础树-A1-7掌握用“先序定根 + 中序定左右”递归重建二叉树的方法,并理解其唯一性条件。
318二叉树14基础树-A2-1掌握二叉树的层序遍历:用队列按层扩展,输出逐层节点,可顺便记录每层或判断完全性。
319二叉树遍历14基础树-A2-2掌握用栈模拟递归实现先/中/后序遍历,理解递归隐式栈的显式化,避免深递归溢出。
320前序14基础树-A2-3理解二叉搜索树(BST):左子树均小于根、右子树均大于根;掌握递归/迭代查找,复杂度与树高相关。
321中序14基础树-A2-4掌握 BST 插入:沿查找路径下行,遇空位插入新节点,保持 BST 性质。
322后序14基础树-A2-5掌握 BST 删除的三种情况:删叶子直接去、删单孩子接上、删双孩子用“前驱/后继”替换后递归删除。
323层序14基础树-A2-6掌握哈夫曼树:每次合并权值最小的两节点构造带权路径长度最小的二叉树,并生成前缀编码。
324完全二叉树14基础树-A2-7理解表达式树:把算式建成二叉树(叶子为操作数、内部为运算符),通过后序/中序遍历求值与还原。
325二叉搜索树14基础树-A2-8综合运用遍历:求树高、节点数、直径,以及“由中序+后序重建”,巩固遍历在树问题中的核心地位。

堆与优先队列

8 个标签 · 8 已就绪
序号知识点能力目标操作
344堆概念15-A1-1理解堆:一种完全二叉树,且父节点“不小于/不大于”孩子(大根/小根),根即最值,支持 O(log n) 取最值。
345最大堆15-A1-2区分大根堆(取最大)与小根堆(取最小),并理解在 STL/Python 中如何用优先队列实现两者。
346最小堆15-A1-3掌握堆的核心操作:插入时“上浮”(与父比较交换),删除堆顶时“下沉”(与较小/较大孩子比较交换),均 O(log n)。
347priority_queue15-A1-4掌握堆排序(原地建堆后反复取堆顶放末尾,O(n log n))及优先队列在 TopK、中位数、Dijkstra 等场景的应用。
348堆排序思想15-A2-1掌握二叉堆(优先队列):Python 用 heapq(默认最小堆),C++ 用 priority_queue;理解 push/pop/top 与“取最小/最大”的语义。
349Top K15-A2-2理解堆排序:先建堆(heapify),再反复取堆顶与末尾交换并下沉,得到升序序列;理解原地排序与 O(n log n)。
350动态最大/最小值15-A2-3用堆在 O(n log k) 求第 k 大/小元素:维护一个大小为 k 的堆,或基于快速选择;理解堆法比全排序更省。
351贪心 + 堆15-A2-4掌握用堆合并多个有序序列(如 K 个有序链表、数据流 TopK 汇总),理解“每个序列一个指针 + 最小堆选最小”的模式。

单调结构

6 个标签 · 0 已就绪
序号知识点能力目标操作
360单调栈思想16-A1-1课程框架已就绪,教案待补充。编写中
361单调队列思想16-A1-2课程框架已就绪,教案待补充。编写中
362下一个更大元素16-A2-1课程框架已就绪,教案待补充。编写中
363下一个更小元素16-A2-2课程框架已就绪,教案待补充。编写中
364滑动窗口最值16-A2-3课程框架已就绪,教案待补充。编写中
365单调队列优化16-A2-4课程框架已就绪,教案待补充。编写中

树状数组 / 线段树 / 区间数据结构

6 个标签 · 0 已就绪
序号知识点能力目标操作
373区间查询思想17-A1-1课程框架已就绪,教案待补充。编写中
374前缀维护17-A1-2课程框架已就绪,教案待补充。编写中
375树状数组17-A2-1课程框架已就绪,教案待补充。编写中
376单点修改17-A2-2课程框架已就绪,教案待补充。编写中
377前缀查询17-A2-3课程框架已就绪,教案待补充。编写中
378区间求和17-A2-4课程框架已就绪,教案待补充。编写中

图论

20 个标签 · 14 已就绪
序号知识点能力目标操作
395图的定义18图基础-A1-1掌握图的两种存储:邻接表(vector<vector<int>>,省空间、遍历快)与邻接矩阵(二维数组,查边 O(1) 但费空间);按稠密/稀疏选结构。
396点18图基础-A1-2掌握在一般图上做 DFS/BFS 遍历:用 visited 数组防止重复访问(图可能成环),得到从某点出发能到达的所有节点与遍历序。
397边18图基础-A1-3掌握拓扑排序:对有向无环图(DAG)排出顶点顺序,使每条边 u→v 中 u 在 v 前;用 Kahn 算法(入度队列)或 DFS 后序。
398度18图基础-A1-4掌握 Dijkstra:在非负权图上求单源最短路,用最小堆每次取距离最小的点松弛其邻边;复杂度 O((V+E) log V)。
399有向图18图基础-A1-5掌握可处理负权的单源最短路:Bellman-Ford 对所有边松弛 V-1 轮;SPFA 用队列优化,并在入队次数≥V 时判定负环。
400无向图18图基础-A1-6掌握 Kruskal 求最小生成树:把所有边按权升序,用并查集依次加入不形成环的边,直到选够 V-1 条。
401邻接矩阵18图基础-A1-7掌握 Prim 求最小生成树:从一点出发,用最小堆不断把“未访问点中离已选集合最近的边”对应的点加入集合,直到覆盖所有点。
402邻接表18图基础-A1-8掌握并查集:find(路径压缩)与 union(按秩/大小合并),用于动态连通性、Kruskal、集合计数;近乎 O(1) 每操作。
403图 DFS18图基础-A2-1掌握二分图判定:用两种颜色对图染色,相邻点异色;DFS/BFS 染色时若遇同色相邻则非二分图。
404图 BFS18图基础-A2-2掌握欧拉路判定:无向图中每个点度数均为偶则有欧拉回路;恰两个奇度点则有欧拉路(起自奇度点);用 Hierholzer 输出路径。
405连通分量18图基础-A2-3掌握求树(或无权图)直径:两次 BFS/DFS——任选点求最远点 u,再从 u 求最远点 v,u 到 v 距离即直径。
406Flood Fill18图基础-A2-4掌握倍增法求 LCA:预处理每个点向上 2^k 步的祖先 up[u][k],查询时先把两点提到同一深度,再同步上跳找分叉点上方。
407路径18图基础-A2-5掌握负环检测:在 SPFA/Bellman-Ford 中,若某点被松弛(入队)次数达到 n 次以上,说明存在可无限缩短的负权环。
408环18图基础-A2-6掌握在 Dijkstra/BFS 过程中统计最短路径条数:当找到更短路径时刷新条数,当找到等长路径时累加条数(取模)。
409拓扑排序18图基础-A3-1课程框架已就绪,教案待补充。编写中
410DAG18图基础-A3-2课程框架已就绪,教案待补充。编写中
411DAG DP18图基础-A3-3课程框架已就绪,教案待补充。编写中
412二分图18图基础-A3-4课程框架已就绪,教案待补充。编写中
413二分图染色18图基础-A3-5课程框架已就绪,教案待补充。编写中
414二分图匹配18图基础-A3-6课程框架已就绪,教案待补充。编写中

最短路

5 个标签 · 0 已就绪
序号知识点能力目标操作
421网格最短路19-A1-1课程框架已就绪,教案待补充。编写中
422BFS 最短路19-A1-2课程框架已就绪,教案待补充。编写中
423Dijkstra19-A2-1课程框架已就绪,教案待补充。编写中
424Floyd19-A2-2课程框架已就绪,教案待补充。编写中
425Bellman-Ford19-A2-3课程框架已就绪,教案待补充。编写中

最小生成树

4 个标签 · 0 已就绪
序号知识点能力目标操作
436MST 概念20-A1-1课程框架已就绪,教案待补充。编写中
437Kruskal20-A2-1课程框架已就绪,教案待补充。编写中
438Prim20-A2-2课程框架已就绪,教案待补充。编写中
439并查集 + MST20-A2-3课程框架已就绪,教案待补充。编写中

动态规划

22 个标签 · 22 已就绪
序号知识点能力目标操作
462DP思想22DP基础-A1-1理解 DP 三要素:状态定义、状态转移方程、边界/初始;用“大问题=小问题组合”避免重复计算。
463状态22DP基础-A1-2掌握自顶向下 DP:用递归 + 缓存(记忆化)避免重复子问题,与自底向上填表等价且更易写出。
464转移22DP基础-A1-3掌握 LIS:dp[i]=以 a[i] 结尾的最长上升子序列长度,O(n²);以及用“贪心+二分”的 O(n log n) 优化。
465初始状态22DP基础-A1-4掌握 LCS:二维 DP,dp[i][j] 为 a 前 i 与 b 前 j 的 LCS 长度,相等则 +1,否则取两侧最大。
466终止状态22DP基础-A1-5用数字三角形巩固线性 DP:自底向上,每个点取左下/右下较大者累加,得到从顶到的最大路径和。
467一维 DP22DP基础-A2-1掌握 0-1 背包:n 件物品每种至多选一次,dp[i][j] 为前 i 件在容量 j 下的最大价值,转移“选/不选”。
468二维 DP22DP基础-A2-2掌握完全背包:每种物品可无限选,转移时容量正序枚举(同一物品可被重复选多次)。
469网格 DP22DP基础-A2-3理解背包为何能滚动到一维:当前行只依赖上一行,故用一维数组并按特定顺序更新即可省去第一维。
470记忆化搜索22DP基础-A2-4掌握两类背包变体:多重背包(每种有数量上限,可二进制拆分转化为 0-1)与分组背包(每组至多选一件)。
471简单背包22DP基础-A2-5用两个经典模型巩固 DP:网格最小路径和(只能右/下)与编辑距离(增删改使两串相同),体会状态设计。
47201背包22DP基础-A3-1掌握两类经典线性 DP:最长递增子序列(LIS,O(n log n))与最长公共子序列(LCS,O(nm)),理解状态定义与转移。
473完全背包22DP基础-A3-2掌握多重背包的两种优化:二进制拆分将数量拆成 2 的幂转化为 0/1 背包;单调队列优化做到 O(nV)。
474多重背包22DP基础-A3-3掌握在树上做 DP:选/不选类(最大独立集)、树上背包(子树合并),用 DFS 后序在子树状态上转移。
475分组背包22DP基础-A3-4掌握区间 DP:状态 dp[l][r] 表示子区间 [l,r] 的最优值,长度从小到大枚举,由短区间合并成长区间。
476LIS22DP基础-A3-5掌握状压 DP:当状态维度小(如 n≤12)时,用二进制整数表示每一行/列的状态,逐行转移并保证行间约束合法。
477LCS22DP基础-A3-6掌握数位 DP:统计满足数位约束(如不含 4、数字和、特定子串)的整数个数,按位从高到低记忆化搜索,用 up 限制上界。
478区间 DP22DP基础-A3-7掌握概率/期望 DP:以状态为随机变量,用 E = Σ p·v 或全期望公式递推期望;注意循环转移时的移项求解。
479状态压缩 DP22DP基础-A3-8掌握用状压 DP 解旅行商 TSP:dp[mask][i] 表示已访问集合 mask 且当前在城市 i 的最小代价,枚举下一未访问城市转移。
480树形 DP22DP基础-A3-9掌握用单调队列优化形如 dp[i]=min_{j}(dp[j]+f(i,j)) 的 DP:当 f 可拆成只关于 i 与只关于 j 的部分时,用滑动窗口维护最优 j。
481DAG DP22DP基础-A3-10掌握博弈类 DP/递推:用 win[i] 表示面对局面 i 是否必胜(存在一步到必败态即可胜),常用于 Nim 及组合游戏规则分析。
482计数 DP22DP基础-A3-11掌握字符串类 DP:编辑距离(插入/删除/替换的最小操作数)与最长回文子序列,理解二维 DP 在字符串上的转移。
483概率 DP22DP基础-A3-12掌握 DP 的通用建模思路:明确状态、转移、边界与答案位置;并能把复杂问题拆成上述经典 DP 的组合或变形。

位运算 / 状态压缩

17 个标签 · 12 已就绪
序号知识点能力目标操作
496二进制23-A1-1理解十进制与二进制的互转、位权概念,以及整数以补码存储。
497位与23-A1-2掌握按位与 &——对应位都为 1 才为 1,常用于判奇偶、取某些位、清位。
498位或23-A1-3掌握按位或 |——对应位有 1 则为 1,常用于置位(把某位置 1)、合并标志位。
499位非23-A1-4理解按位取反 ~(含补码陷阱),并用它配合 & 来清位。
500异或23-A1-5掌握按位异或 ^——相同为 0、不同为 1,利用其自反性做无临时变量交换与"找出现奇数次的数"。
501左移23-A1-6理解左移 <<——在不溢出时等价于乘 2^k,用于快速乘除、构造掩码、取位。
502右移23-A1-7理解右移 >>——等价于除以 2^k(向下取整),用于快速除二、取位、统计二进制中 1 的个数。
503位掩码23-A2-1理解位掩码:用一个整数的二进制位表示一组布尔状态,第 i 位为 1 表示第 i 个选项被选中。
504集合表示23-A2-2用整数表示一个有限集合(元素为 0..N-1),元素 i 在集合中当且仅当第 i 位为 1。
505子集判断23-A2-3掌握用位运算判断一个集合是否为另一个集合的子集/超集,以及如何枚举子集。
506lowbit23-A2-4掌握 lowbit:取出整数二进制最低位的 1 及其后的 0 所构成的值,公式为 x & (-x)。
507popcount23-A2-5掌握 popcount(统计整数二进制中 1 的个数),以及位运算统计技巧。
508状态压缩23-A3-1课程框架已就绪,教案待补充。编写中
509位 DP23-A3-2课程框架已就绪,教案待补充。编写中
510子集枚举23-A3-3课程框架已就绪,教案待补充。编写中
511位运算优化23-A3-4课程框架已就绪,教案待补充。编写中
512Bitset23-A3-5课程框架已就绪,教案待补充。编写中

数学与数论

20 个标签 · 12 已就绪
序号知识点能力目标操作
518奇偶性24基础数论-A1-1理解整数的奇偶:能被 2 整除为偶数,否则为奇数;掌握用取模或位运算判断奇偶。
519最大公约数24基础数论-A1-2掌握用欧几里得算法(辗转相除法)求两个数的最大公约数 gcd。
520最小公倍数24基础数论-A1-3掌握用 gcd 求最小公倍数 lcm:lcm(a,b) = a×b / gcd(a,b),并注意先除后乘以防溢出。
521素数24基础数论-A1-4掌握判断素数的试除法:只需检查到 √n 的素数/整数因子即可。
522质因数分解24基础数论-A1-5掌握质因数分解:把 n 拆成素数因子的乘积,通过不断除以最小因子实现。
523欧几里得算法24基础数论-A2-1掌握欧几里得算法(辗转相除法)求最大公约数 gcd:gcd(a,b)=gcd(b,a mod b)。
524埃氏筛24基础数论-A2-2掌握埃拉托斯特尼筛法(埃氏筛)在 O(n log log n) 内求出 [2,n] 内的所有素数。
525线性筛24基础数论-A2-3理解线性筛(欧拉筛):每个合数只被其最小质因子筛一次,达到 O(n) 求素数。
526唯一分解定理24基础数论-A2-4理解算术基本定理:任一大于 1 的整数可唯一分解为若干素数幂的乘积。
527快速幂24基础数论-A2-5掌握二进制快速幂,在 O(log b) 内计算 a^b(或 a^b mod m)。
528模运算24基础数论-A2-6掌握模运算基本律:加、减、乘可分别在模内运算,注意减法与除法(逆元)的处理。
529模逆元基础24基础数论-A2-7理解模逆元:在模 m 下,若 gcd(a,m)=1,则存在 a⁻¹ 使 a·a⁻¹ ≡ 1 (mod m);当 m 为素数可用费马小定理。
530欧拉函数24基础数论-A3-1课程框架已就绪,教案待补充。编写中
531扩展欧几里得24基础数论-A3-2课程框架已就绪,教案待补充。编写中
532逆元24基础数论-A3-3课程框架已就绪,教案待补充。编写中
533组合数24基础数论-A3-4课程框架已就绪,教案待补充。编写中
534Lucas24基础数论-A3-5课程框架已就绪,教案待补充。编写中
535中国剩余定理24基础数论-A3-6课程框架已就绪,教案待补充。编写中
536容斥24基础数论-A3-7课程框架已就绪,教案待补充。编写中
537质因数分解优化24基础数论-A3-8课程框架已就绪,教案待补充。编写中

组合数学

8 个标签 · 4 已就绪
序号知识点能力目标操作
545加法原理25-A1-1理解加法原理:完成一件事有若干类互斥的方法,总方法数等于各类方法数之和。
546乘法原理25-A1-2理解乘法原理:完成一件事需若干步,每步方法数相乘得总数。
547基础排列25-A1-3掌握排列数:从 n 个不同元素中取 k 个排成一列的方法数 P(n,k)=n!/(n-k)!。
548基础组合25-A1-4掌握组合数:从 n 个不同元素中取 k 个(不计顺序)的方法数 C(n,k)=n!/(k!(n-k)!),并知 C(n,k)=C(n,n-k)。
549排列25-A2-1课程框架已就绪,教案待补充。编写中
550组合25-A2-2课程框架已就绪,教案待补充。编写中
551杨辉三角25-A2-3课程框架已就绪,教案待补充。编写中
552组合数 DP25-A2-4课程框架已就绪,教案待补充。编写中

数学优化

7 个标签 · 7 已就绪
序号知识点能力目标操作
563数学公式替代循环26-A1-1学会用闭式公式替代"累加/累乘"循环,把 O(n) 计算降到 O(1),避免超时与手误。
564等差数列26-A1-2理解等差数列:相邻项差为常数 d,掌握通项与求和公式,并能在题目中识别等差结构。
565基础几何计算26-A1-3掌握常见平面图形的面积/周长/体积公式(矩形、三角形、圆等),并能在程序中正确计算与取整。
566前缀公式26-A2-1掌握快速幂:用二进制拆分指数,把 a^b 在 O(log b) 内算出,并支持模运算防止溢出。
567数学建模26-A2-2掌握 GCD(辗转相除)与扩展欧几里得(求 ax+by=gcd(a,b) 的一组整数解),用于同余与逆元。
568函数单调性26-A2-3掌握埃氏筛与欧拉筛(线性筛)求区间内素数,并用以做质因数分解,支持数论类题目。
569不等式26-A2-4理解乘法逆元:在模 p(素数)下,a 的逆元满足 a·a⁻¹≡1,可用费马小定理(a^(p-2))或 exgcd 求得,用于“除法取模”。

字符串算法

8 个标签 · 4 已就绪
序号知识点能力目标操作
580字符串遍历27-A1-1掌握字符串遍历:逐字符处理字符串,能按位置取字符、按条件筛选与拼接。
581字符统计27-A1-2掌握字符统计:统计字符串中字母、数字、各类字符的出现次数与频率。
582字符串模拟27-A1-3掌握字符串模拟:把过程建模为对字符串/字符序列的逐步变换与判断。
583字符串排序27-A1-4掌握字符串排序:对字符串中的字符排序,以及对一组字符串按字典序排序。
584字符串哈希基础27-A2-1课程框架已就绪,教案待补充。编写中
585前缀哈希27-A2-2课程框架已就绪,教案待补充。编写中
586子串比较27-A2-3课程框架已就绪,教案待补充。编写中
587Trie27-A2-4课程框架已就绪,教案待补充。编写中

哈希

8 个标签 · 8 已就绪
序号知识点能力目标操作
600哈希表概念28-A1-1理解哈希表:通过哈希函数把键映射到桶;不同键映射到同桶即冲突,介绍链地址法与开放寻址法两种解决思路。
601set28-A1-2对比哈希冲突的两种解法:链地址法(桶挂链表,删除方便)与开放寻址法(线性/二次/双重探测,缓存友好但易聚集)。
602map28-A1-3掌握字符串滚动哈希:把字符串视作 P 进制数模大素数,配合前缀哈希可在 O(1) 比较任意子串是否相等,用于 Rabin-Karp 与字符串判重。
603unordered_map28-A2-1理解哈希函数的设计目标(均匀、稳定、快速)与常见方法:除留余数、乘法哈希、以及字符串/结构的组合哈希;介绍位扰动减少低位聚集。
604unordered_set28-A2-2掌握双哈希(用两个独立哈希函数降低冲突/碰撞)与布隆过滤器(多个哈希位构成的位数组,支持高效近似“可能存在/一定不存在”)。
605计数哈希28-A2-3掌握 Rabin-Karp:对模式串与文本每个长度为 m 的窗口计算滚动哈希,哈希相等再逐字符确认,从而在平均 O(n) 完成多模式/子串匹配。
606去重28-A2-4理解一致性哈希:把节点与键都哈希到同一个圆环上,键沿顺时针找最近节点;引入虚拟节点使负载均衡,常用于分布式缓存扩容。
607哈希映射28-A2-5综合运用哈希:在查重、计数、缓存、字符串判等、集合判同等场景中正确选择哈希结构,并理解其时间/空间权衡与碰撞应对。

倍增

3 个标签 · 0 已就绪
序号知识点能力目标操作
618倍增思想29-A1-1课程框架已就绪,教案待补充。编写中
619快速幂29-A2-1课程框架已就绪,教案待补充。编写中
620二进制跳跃29-A2-2课程框架已就绪,教案待补充。编写中

区间与离线算法

7 个标签 · 3 已就绪
序号知识点能力目标操作
628区间概念30-A1-1掌握一维/二维前缀和(O(1) 求区间和)与差分(O(1) 区间加),理解“前缀预处理 + 相减”与“差分数组还原”的互逆技巧。
629区间求和30-A1-2理解离线思想:先把所有询问/事件收集,按某种顺序(如坐标、时间)统一处理,常比逐个在线处理更高效。以扫描线求矩形并面积、区间计数引入。
630区间最值30-A1-3综合区间类问题:区分“多查询少更新”(前缀和)、“多更新少查询”(差分)、“在线动态”(树状数组/线段树),并能离线处理复杂区间统计。
631前缀和30-A2-1课程框架已就绪,教案待补充。编写中
632差分30-A2-2课程框架已就绪,教案待补充。编写中
633离线排序30-A2-3课程框架已就绪,教案待补充。编写中
634离线查询30-A2-4课程框架已就绪,教案待补充。编写中