Appearance
GESP 知识分类体系
依据官方分类体系,共 8 个 Level、55 个一级分类。
概览
| Level | 等级 | 分类数 | 主要方向 |
|---|---|---|---|
| Level 1 | 一级 | 7 | 计算机基础与程序设计入门 |
| Level 2 | 二级 | 7 | 编码、网络、流程图与函数基础 |
| Level 3 | 三级 | 6 | 数据编码、位运算、数据结构入门 |
| Level 4 | 四级 | 8 | 指针、结构体、排序与文件 |
| Level 5 | 五级 | 8 | 数论、链表、递归与分治 |
| Level 6 | 六级 | 6 | 树、搜索、动态规划、面向对象 |
| Level 7 | 七级 | 5 | 复杂 DP、图论、哈希表 |
| Level 8 | 八级 | 8 | 计数原理、图论、综合优化 |
Level 1(一级)— 7 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L1_01 | 计算机基础知识 | 计算机软硬件组成;常见操作;发展历程 |
| L1_02 | 集成开发环境 | 创建文件;编辑文件;保存文件;编译;解释;调试 |
| L1_03 | 结构化程序设计 | 顺序结构;分支结构;循环结构 |
| L1_04 | 程序基本语句 | cin 语句;cout 语句;scanf 语句;printf 语句;赋值语句;复合语句;if 语句;switch 语句;for 语句;while 语句;do-while 语句 |
| L1_05 | 程序基本概念 | 标识符;关键字;常量;变量;表达式的概念 |
| L1_06 | 基本运算 | 算术运算;逻辑运算;关系运算;变量自增与自减运算;三目运算 |
| L1_07 | 基本数据类型 | 整型(int, long long);实数型(float, double);字符型(char);布尔型(bool) |
Level 2(二级)— 7 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L2_01 | 计算机存储与网络 | ROM、RAM、CACHE;计算机网络分类;TCP/IP 四层模型与 OSI 七层模型;IP 地址及子网划分 |
| L2_02 | 程序设计语言 | 程序设计语言分类;常见的高级语言 |
| L2_03 | 流程图 | 流程图的概念;绘制流程图;描述流程图 |
| L2_04 | ASCII 编码 | 常见字符的 ASCII 编码;字符编码之间的相互转换 |
| L2_05 | 数据类型转换 | 强制类型转换;隐式类型转换 |
| L2_06 | 多层分支/循环结构 | if 语句、if-else 语句、switch 语句的嵌套;while 循环、do-while 循环、for 循环的嵌套 |
| L2_07 | 数学函数 | 绝对值函数(abs);平方根函数(sqrt);最大值函数(max);最小值函数(min);随机数函数(rand/srand) |
Level 3(三级)— 6 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L3_01 | 数据编码 | 原码;反码;补码 |
| L3_02 | 进制转换 | 二进制;八进制;十进制;十六进制 |
| L3_03 | 位运算 | 与(&);或(|);非(~);异或(^);左移(<<);右移(>>) |
| L3_04 | 算法与描述 | 枚举法;模拟法;自然语言描述;流程图描述;伪代码描述 |
| L3_05 | 数据结构 | C++ 一维数组;Python 列表;Python 字典;Python 元组;Python 集合;列表解析 |
| L3_06 | 字符串及其函数 | 大小写转换;字符串搜索;分割;替换 |
Level 4(四级)— 8 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L4_01 | 指针 | 指针类型;指针类型定义变量;指针变量的赋值;解引用 |
| L4_02 | 二维数组/多维数组 | C++ 二维及多维数组的定义与使用;Python 复合类型的嵌套使用 |
| L4_03 | 结构体 | 结构体定义和使用;结构体数组;结构体指针;结构体嵌套结构体;结构体做函数参数;结构体中 const 使用场景 |
| L4_04 | 函数 | 函数的定义、调用、声明;形参、实参;全局作用域、局部作用域;值传递、引用传递 |
| L4_05 | 递推算法 | 递推算法基本思想;递推关系式推导 |
| L4_06 | 排序算法 | 冒泡排序;插入排序;选择排序;时间复杂度;空间复杂度;算法稳定性;简单算法复杂度的估算 |
| L4_07 | 文件操作 | 文件重定向;读操作;写操作;读写操作 |
| L4_08 | 异常处理 | 异常处理机制;常用方法 |
Level 5(五级)— 8 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L5_01 | 初等数论 | 素数与合数;最大公约数与最小公倍数;同余与模运算;约数与倍数;质因数分解;奇偶性;欧几里得算法;唯一分解定理;素数表的埃氏筛法和线性筛法 |
| L5_02 | 算法复杂度 | 含多项式的算法复杂度;含对数的算法复杂度 |
| L5_03 | C++ 高精度运算 | 数组模拟高精度加法;数组模拟高精度减法;数组模拟高精度乘法;数组模拟高精度除法 |
| L5_04 | 链表 | 单链表的创建、插入、删除、遍历、查找;双链表的创建、插入、删除、遍历、查找;循环链表的创建、插入、删除、遍历、查找 |
| L5_05 | 二分算法 | 二分查找算法;二分答案算法(二分枚举法) |
| L5_06 | 递归算法 | 递归算法的相关概念;递归算法的时间复杂度和空间复杂度;递归的优化策略 |
| L5_07 | 分治算法 | 归并排序算法;快速排序算法 |
| L5_08 | 贪心算法 | 贪心算法的相关概念;最优子结构 |
Level 6(六级)— 6 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L6_01 | 树 | 树的基本概念;哈夫曼树;完全二叉树;二叉排序树 |
| L6_02 | 基于树的编码 | 格雷编码;哈夫曼编码 |
| L6_03 | 搜索算法 | 深度优先搜索算法(DFS);宽度优先搜索算法(BFS);二叉树的搜索算法 |
| L6_04 | 简单动态规划 | 一维动态规划;简单背包 |
| L6_05 | 面向对象 | 面向对象思想;类的创建和初始化;类的特性:继承、封装、多态 |
| L6_06 | 栈和队列 | 栈;队列;循环队列 |
Level 7(七级)— 5 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L7_01 | 数学库函数 | 三角函数(sin/cos);对数函数(log10/log2);指数函数(exp) |
| L7_02 | 复杂动态规划 | 二维动态规划;动态规划最值优化;区间动态规划;求最长上升子序列(LIS);求最长公共子序列(LCS);基于滚动数组的动态规划空间复杂度优化 |
| L7_03 | 图的定义及遍历 | 图的概念;图的广度优先遍历;图的深度优先遍历 |
| L7_04 | 图论算法 | 图的泛洪算法(floodfill) |
| L7_05 | 哈希表 | 哈希表的概念与知识及其应用 |
Level 8(八级)— 8 个分类
| 代码 | 名称 | 知识点 |
|---|---|---|
| L8_01 | 计数原理 | 加法原理;乘法原理 |
| L8_02 | 排列与组合 | 排列;组合 |
| L8_03 | 杨辉三角 | 杨辉三角的定义;杨辉三角形的实现 |
| L8_04 | 倍增法 | 倍增的概念 |
| L8_05 | 代数与平面几何 | 一元一次方程;二元一次方程;三角形面积;圆形面积;长方形面积 |
| L8_06 | 图论算法及综合应用 | 最小生成树的概念;kruskal 算法;prim 算法;最短路径的概念;dijkstra 算法;Floyd 算法;图论算法的综合应用与问题求解技巧 |
| L8_07 | 算法时间与空间效率分析 | 算法时间和空间复杂度的一般分析方法;排序算法的时间空间复杂度;查找算法的时间空间复杂度;树和图的遍历算法复杂度;搜索算法复杂度;分治及动态规划算法复杂度 |
| L8_08 | 算法优化 | 不同算法求解问题的差异分析;算法优化的一般方法;根据数学知识优化算法 |
