CSP-J 信奥竞赛大纲(2025)
NOI竞赛大纲2025修订版(CSP-J入门级)
简 介:
信息学奥林匹克竞赛简称NOI,由CCF主办,是五大学科竞赛中唯一小学和初中可以参与的赛事,NOI从2022年开始只支持C++语言参赛。2025修订版,NOI优化考察方向与知识体系,以凸显人类计算思维在算法设计中独有的创造性。
入门级(Certifed Software Professional Junior)
CSP-J考试分初赛笔试和复赛机考
-
基础知识与编程环境
-
C++程序设计
-
数据结构
-
算法
-
数学与其他
编程工具
NOI系列赛事从2022年其只支持C++参赛
-
Dev_C++(IDE)
-
Code::Blocks(IDE)
-
NOI_Linux(竞赛环境)
2.1.1 基础知识与编程环境
-
计算机的基本构成(CPU、内存、I/O设备等)
-
Windows、Linux等操作系统的基本概念及常见操作
-
计算机网络和Internet的基本概念
-
计算机的历史和常见用途
-
NOI以及相关活动的历史
-
NOI以及相关活动的规则
-
位、字节与字
-
程序设计语言以及程序编译和运行的基本概念
-
使用图形界面新建、复制、删除、移动文件或目录
-
使用Windows系统下的集成开发环境(Dev C++)
-
使用Linux系统下的集成开发环境(Code::Blocks)
-
g++、gcc等常见编译器的基本使用
2.1.2 C++ 程序设计
1.程序设计基本概念
-
标识符、关键字、常量、变量、字符串、表达式
-
常量与变量的命名、定义及作用
-
头文件与名字空间的概念
-
编辑、编译、解释、调试的概念
2.基本数据类型
-
整数型:int、long long
-
实数型:float、double
-
字符型:char
-
布尔型:bool
3.程序基本语句
-
输入输出、赋值、复合
-
条件
-
循环
-
多层循环
4.基本运算
-
算术运算
-
关系运算
-
逻辑运算
-
变量自增与自减运算
-
三目运算
-
位运算
5.数学库常用函数
-
绝对值、四舍五入、下取整、上取整
-
平方根、三角函数、对数、指数
6.结构化程序设计
-
顺序结构、分支结构和循环结构
-
自顶向下逐步求精的模块化程序设计
-
流程图的概念及描述
7.数组
-
数组与数组下标
-
数组的读入与输出
-
二维数组与多维数组
8.字符串的处理
-
字符数组与相关函数
-
string类与相关函数
9.函数与递归
-
函数定义与调用、形参与实参
-
传值参数与传引用参数
-
常量与变量的作用范围
-
递归函数
10.结构体与联合体
-
结构体
-
联合体
11.指针与引用
-
指针
-
基于指针的数组访问
-
字符指针
-
指向结构体的指针
-
引用
12.文件基本读写
-
文件的基本概念、文本文件的基本操作
-
文本文件类型与二进制文件类型
-
文件重定向、文件读写等操作
13.STL 模板
-
算法模板库中的函数:min、max、swap、sort
-
栈、队列、链表、向量:stack、queue、list、vector
2.1.3 数据结构
1.线性结构
-
链表:单链表、双向链表、循环链表
-
栈
-
队列
2.简单树
-
树的定义与相关概念
-
树的表示与存储
-
二叉树的定义与基本性质
-
二叉树的表示与存储
-
二叉树的遍历:前序、中序、后序
3.特殊树
-
完全二叉树的定义与基本性质
-
完全二叉树的数组表示法
-
哈夫曼树的定义和构造、哈夫曼编码
-
二叉搜索树的定义和构造
4.简单图
-
图的定义与相关概念
-
图的表示与存储:邻接矩阵
-
图的表示与存储:邻接表
2.1.4 算法
1.算法概念与描述
-
算法概念
-
算法描述
2.入门算法
-
枚举法
-
模拟法
3.基础算法
-
贪心法
-
递推法
-
递归法
-
二分法
-
倍增法
4.算法策略
-
前缀和
-
差分
5.数值处理算法
-
高精度加法
-
高精度减法
-
高精度乘法
-
高精度整数除以单精度整数
6.排序算法
-
排序的的基本概念
-
冒泡排序
-
选择排序
-
插入排序
-
计数排序
7.搜索算法
-
深度优先搜索
-
广度优先搜索
8.图论算法
-
深度优先遍历
-
广度优先遍历
-
泛洪算法(flood fill)
9.动态规划
-
动态规划的基本思路
-
简单一维动态规划
-
简单背包类动态规划
-
简单区间类动态规划
2.1.5 数学与其他
1.数及其运算
-
自然数、整数、有理数、实数及算术运算(加、减、乘、除)
-
进制与进制转换:二进制、八进制、十进制、十六进制
2.初等数学
-
代数(初中部分)
-
几何(初中部分)
3.初等数论
-
整除、因数、倍数、指数、质(素)数、合数
-
取整
-
模运算与同余
-
整数唯一分解定理
-
辗转相除法(欧几里德算法)
-
素数筛法:埃氏筛法与线型筛法
4.离散数学
-
集合
-
加法原理
-
乘法原理
-
排列
-
组合
-
杨辉三角
5.其他
-
ASCII码