当前位置: 首页 > java >正文

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 基础知识与编程环境

  1. 计算机的基本构成(CPU、内存、I/O设备等)

  2. Windows、Linux等操作系统的基本概念及常见操作

  3. 计算机网络和Internet的基本概念

  4. 计算机的历史和常见用途

  5. NOI以及相关活动的历史

  6. NOI以及相关活动的规则

  7. 位、字节与字

  8. 程序设计语言以及程序编译和运行的基本概念

  9. 使用图形界面新建、复制、删除、移动文件或目录

  10. 使用Windows系统下的集成开发环境(Dev C++)

  11. 使用Linux系统下的集成开发环境(Code::Blocks)

  12. 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码

http://www.xdnf.cn/news/11864.html

相关文章:

  • C语言-指针基础概念
  • 图神经网络实战——图属性度量方法详解
  • @Prometheus 监控-MySQL (Mysqld Exporter)
  • 【从GEO数据库批量下载数据】
  • docker生命周期
  • 结构性设计模式之Flyweight(享元)
  • Linux基本指令(三)
  • 【投稿优惠】2025年人工智能与图像处理国际会议(AIIP 2025)
  • 物联网协议之MQTT(一)基础概念和设备
  • 【Web应用】若依框架:基础篇14 源码阅读-后端代码分析
  • 瀚文(HelloWord)智能键盘项目深度剖析:从0到1的全流程解读
  • [特殊字符] Spring Boot底层原理深度解析与高级面试题精析
  • webpack继续学习
  • 一个小小的 flask app, 几个小工具,拼凑一下
  • epoll
  • HikariCP 可观测性最佳实践
  • 你工作中涉及的安全方面的测试有哪些怎么回答
  • STM32上部署AI的两个实用软件——Nanoedge AI Studio和STM32Cube AI
  • ESOP交易系统搭建全景指南:从合规基石到价值跃迁
  • 人机融合智能 | 可穿戴计算设备的多模态交互
  • Vue中的自定义事件
  • PLC远程控制网关支持多塘口水环境数据边缘计算与远程安全传输的配置指南
  • 四款主流物联网操作系统(FreeRTOS、LiteOS、RT-Thread、AliOS)的综合对比分析
  • Mac/iOS 如何解压 RAR 格式压缩包:常用工具与详细操作步骤
  • GNSS误差源 介绍
  • 【C/C++】入门grpc的idl
  • 格恩朗超声波水表 精准计量 智慧之选
  • matlab模糊控制实现路径规划
  • 详细讲解Flutter GetX的使用
  • 职坐标IT教育物联网全栈开发实战:传感器到云平台全链路