图书前言

前言

CSPJ/S从2019年开设,至今已经7年了。这7年间,为了能够使比赛更加规范,让广大考生考有所依,CCF NOI科学委员会于2021年制定并发布了CSPJ/S的考试大纲,并在2023年做了第一次修订,2025年又进行了第二次修订。频繁的修订说明了计算机技术发展之快。为了让广大考生能够更加及时地了解这些变化,我决定对本书进行新版的修订。

利用第1版的知识点结构体系,我对这7年的考试内容进行了归纳总结,首先看第一部分选择题,每年出题的分数总结结果如下表所示。章 知 识 点节 知 识 点201920202021202220232024第1章

计算机基础知识1.1基本常识111.2系统结构11.3软件系统111.4数据表示与计算2221321.5信息编码111.6网络基础1合计443144第2章

程序设计基础2.1计算机语言与算法241112.2 C++语言基础1224合计124335第3章

基本数据结构3.1线性表11313.2栈和队列11213.3树2133413.4图111113.5排序1111合计4551064第4章

离散数学与组合数学4.1应用数学31114.2组合学33222合计643122第1章中,除了1.4节外,其他节的出题都很少,所以新版压缩了其他节的内容,对于从没考过的知识点也进行了删减。

第2章的考试内容基本上处于上升趋势,所以新版对该章内容进行了增加和丰富。

第3章的内容基本保持不变,对个别题目和内容进行了删减。

第4章的应用数学部分考试内容很少,所以新版对这部分内容进行了删减。

再看第二部分的阅读程序题和完善程序题,本书对每题所考查的知识点进行了分类汇总,结果如下表所示。考试部分201920202021202220232024阅读程

序题1字符串操作字符串数组二进制二进制函数素数2数组操作数组操作字符数组递归算法动态规划动态规划3递归递归欧拉筛二分法函数递归完善程

序题1递归质因数分解循环链表枚举算法二分算法判断平方数2计数排序贪心算法矩形计数洪水填充编辑距离递归从上述考核的算法中可以看出,算法考核虽然很随机,但是像递归、动态规划等算法的考核次数非常多,所以考生对此类算法要重点学习。

另外,根据2025年新颁布的大纲(新大纲可以到CCF官网下载),需要对各章节增加一些内容,主要涉及的调整如下。

 第1章中,增加了NOI以及相关活动的历史、规则。

 第3章中,增加了哈夫曼树的定义与算法、前缀(中缀、后缀)表达式。

 第7章中,增加了二叉搜索树的定义和构造、泛洪算法(Flood Fill)。

本书的修订得到了清华大学出版社的大力支持,在此表示感谢。在修订过程中,我也参考了一些网上的资料和资源,在此对辛勤付出的网友表示感谢。

编者2026年5月