集训笔记
2026-08-11 22:47:10
发布于:浙江
📚 CSP-J 初赛核心知识点复习清单
一、计算机基础常识
1. 计算机发展史与人物
- 第一台电子计算机:ENIAC (1946年),使用电子管。
- 冯·诺依曼 (Von Neumann):提出“存储程序”思想,确立计算机五大部件(运算器、控制器、存储器、输入设备、输出设备)。
- 艾伦·图灵 (Alan Turing):计算机科学之父,提出图灵机模型,图灵奖是计算机界最高荣誉。
- 摩尔定律:集成电路上可容纳的晶体管数目,约每隔 18-24 个月便会增加一倍。
2. 数据存储单位换算 (必背)
- 基本关系:
- 注意:考试中统一按 1024 进制计算。
3. 进制转换与编码
- 常见进制:
- 二进制 (Binary):0, 1
- 八进制 (Octal):0-7
- 十进制 (Decimal):0-9
- 十六进制 (Hex):0-9, A(10)-F(15)
- 转换技巧:
- 二 八:每 3 位二进制对应 1 位八进制。
- 二 十六:每 4 位二进制对应 1 位十六进制。
- 十 其他:除基取余,逆序排列。
- 其他 十:按权展开求和。
- ASCII 码 (必记数值):
'0'= 48'A'= 65'a'= 97- 空格 = 32
- 规律:小写字母 ASCII 值 - 大写字母 ASCII 值 = 32
4. 计算机网络
- IP 地址:
- IPv4:32位,点分十进制。
- IPv6:128位,冒号十六进制。
- TCP/IP 协议族:
- 应用层:HTTP (80), HTTPS (443), FTP (21), DNS (53)。
- 传输层:TCP (可靠连接), UDP (不可靠/快速)。
- 网络层:IP 协议。
- 域名系统 (DNS):将域名解析为 IP 地址。
.cn(中国),.com(商业),.edu(教育),.gov(政府)。
5. 软件系统
- 系统软件:操作系统 (Windows, Linux, macOS, Android, iOS)、数据库管理系统、编译程序。
- 应用软件:Office, 浏览器, 游戏等面向具体任务的软件。
二、数学与逻辑基础
1. 排列组合
- 加法原理:“分类”计数,完成一件事有 类办法,总方法数相加。
- 乘法原理:“分步”计数,完成一件事需 个步骤,总方法数相乘。
- 排列公式:
- 组合公式:
- 常用技巧:捆绑法(相邻问题)、插空法(不相邻问题)。
2. 数论基础
- 质数 (素数):大于 1 的自然数,除了 1 和它自身外,不能被其他自然数整除。最小质数是 2。
- 最大公约数 (GCD):常用辗转相除法。
- 最小公倍数 (LCM):
- 模运算: 表示 除以 的余数,结果范围 。
3. 逻辑运算
- 与 (AND / &&):全真才真。
- 或 (OR / ||):全假才假。
- 非 (NOT / !):取反。
- 异或 (XOR / ^):相同为 0 (假),不同为 1 (真)。
- 优先级:
!>&&>||。注意短路运算特性。
三、数据结构基础
1. 线性结构
- 数组:连续存储,随机访问快,下标从 0 开始。访问复杂度 。
- 链表:离散存储,插入删除快,查找慢。查找复杂度 。
- 栈 (Stack):
- 特点:后进先出 (LIFO)
- 操作:只能在栈顶进行插入 (Push) / 删除 (Pop)。
- 复杂度:
- 队列 (Queue):
- 特点:先进先出 (FIFO)
- 操作:队尾入队 (Enqueue),队头出队 (Dequeue)。
- 复杂度:
重点考题:给定入栈序列,判断合法的出栈序列(通过模拟入栈出栈过程验证)。
2. 树 (二叉树为重点)
- 基本性质:
- 个节点的二叉树有 条边。
- 第 层最多有 个节点。
- 深度为 的二叉树最多有 个节点。
- 重要公式:叶子节点数 与度为 2 的节点数 关系:。
- 遍历方式:
- 前序:根 左 右
- 中序:左 根 右
- 后序:左 右 根
- 层序:从上到下,从左到右
- 哈夫曼树 (Huffman Tree):带权路径长度 (WPL) 最小的二叉树,用于数据压缩。
3. 图论基础
- 基本概念:顶点、边、度 (入度/出度)。
- 性质:所有顶点的度数之和 = 边数。
- 存储结构:邻接矩阵、邻接表。
四、算法基础与 C++ 语法
1. 排序算法对比
| 算法 | 平均时间复杂度 | 稳定性 | 备注 |
|---|---|---|---|
| <>冒泡排序<> | 稳定 | 简单,交换相邻元素 | |
| <>选择排序<> | 不稳定 | 每次选最小/大值 | |
| <>插入排序<> | 稳定 | 适合小规模或基本有序数据 | |
| <>快速排序<> | 不稳定 | 最坏 ,实际最快 | |
| <>归并排序<> | 稳定 | 需要额外空间 |
2. 常见算法思想
- 枚举 (暴力):遍历所有可能情况。
- 模拟:按照题目描述一步步执行。
- 递归:函数调用自身,必须有终止条件。
- 二分查找:在有序数组中查找,时间复杂度 。
- 贪心:每一步都做出当前看来最好的选择(局部最优),不一定得到全局最优。
- 动态规划 (DP):将大问题分解为子问题,记录中间状态(如背包问题)。
- 搜索:DFS (深度优先,栈/递归实现), BFS (广度优先,队列实现)。
3. C++ 基础语法陷阱
- 整数除法:
5 / 2结果是2(整数截断),5.0 / 2结果是2.5。 - 自增自减:
i++(先用后加) vs++i(先加后用)。 - 逻辑短路:
if (a != 0 && b/a > 1)是安全的;若顺序颠倒可能除零错误。a - 数组下标:C++ 数组下标从 0 开始,注意越界问题。
五、备考建议与应试技巧
-
时间分配建议 (120分钟):
- 单项选择题 (15题, 30分):建议 20-25 分钟。速战速决,遇到难题先标记。
- 阅读程序 (3大题, 40分):建议 40-45 分钟。这是拉分关键,需静心模拟变量变化。
- 完善程序 (2大题, 30分):建议 25-30 分钟。利用上下文逻辑推断填空。
- 检查:留 10-15 分钟 涂卡及复查。
-
核心能力培养:
- 静态调试能力:在不运行代码的情况下,在草稿纸上跟踪变量值的变化。
- 排除法:选择题中,通过代入特殊值 (如 ) 快速排除错误选项。
- 知识地图:将分散的知识点(如 ASCII、进制、存储单位)形成体系,避免碎片化记忆。
-
避坑指南:
- 注意题目问的是“不正确的是”还是“正确的是”。
- 注意数据范围,警惕整数溢出 (
intvslong long)。 - 注意运算符优先级,特别是逻辑运算符与算术运算符混合时。
这里空空如也













有帮助,赞一个