NOI官方教材4本套(入门篇+练习指导+基础篇+提高篇)
正版全新
¥
300.2
9.5折
¥
316
全新
库存2件
作者中国计算机学会
出版社机械工业出版社
ISBN9787111803096
出版时间2022-12
装帧其他
定价316元
货号5074972
上书时间2026-11-15
商品详情
- 品相描述:全新
- 商品描述
-
【书 名】 NOI官方教材4本套(入门篇+练习指导+基础篇+提高篇)
【书 号】 9787111803096
【出 版 社】 机械工业出版社
【作 者】 中国计算机学会
【出版日期】 2026-09-01
【定 价】 316.00元
【内容简介】
CCF 信息学奥赛入门篇
本书是CCF全国青少年信息学奥林匹克竞赛(NOI)教程的第*册,旨在普及计算机科学与程序设计知识。书中遵循由浅入深、逻辑严密的编写思路,辅以丰富的实例解析,引领读者逐步提升计算思维能力。全书共七章,全面覆盖了NOI系列竞赛大纲入门级别的内容,包括编程基础知识、数据的存储与读入、程序的选择执行、程序段的反复执行、数据的批量存储、模块化程序设计、NOI系列竞赛相关规定等。
本书可作为信息学奥林匹克竞赛的教学用书,也可作为青少年学习计算机科学知识、了解信息学奥林匹克竞赛的参考资料。
《CCF 信息学奥赛入门篇》练习指导
本书是“CCF全国青少年信息学奥林匹克竞赛教程”丛书之一,详细解析了《CCF信息学奥赛入门篇》中的练习题目,并通过例题,帮助读者巩固知识点。内容包括编程基础知识、数据的存储和读入、程序的选择执行、程序段的反复执行、数据的批量存储、模块化程序设计、NOI系列竞赛相关规定等,全面覆盖NOI竞赛大纲所要求的基础知识。还根据竞赛的特点,深入解析了常见的难点和易错点。
本书可作为信息学奥林匹克竞赛的教学用书,也可作为CSP-J/S入门级参赛选手的训练资料,还可以作为青少年学习计算机科学知识、了解信息学奥赛的参考资料。
CCF信息学奥赛基础篇
本书是“CCF全国青少年信息学奥林匹克竞赛教程”丛书的第二册,旨在普及计算机科学与程序设计知识。书中遵循由浅入深、逻辑严密的编写思路,辅以丰富的实例解析,引领读者逐步提升计算思维能力。全书共四章,涉及C++程序设计进阶、数据结构及其应用、算法设计、数学运用等内容,全面覆盖NOI竞赛大纲所要求的基础知识。根据竞赛的特点,书中还对一些常见的难点和易错点进行了深入的解析。
本书可作为信息学奥林匹克竞赛的教学用书,也可作为青少年学习计算机科学知识、了解信息学奥赛的参考资料。
CCF 信息学奥赛提高篇
本书是“CCF全国青少年信息学奥林匹克竞赛教程”丛书的第四册,旨在普及计算机科学与程序设计知识。书中遵循由浅入深、逻辑严密的编写思路,辅以丰富的实例解析,引领读者逐步提升计算思维能力。全书共三章,涉及C++程序设计进阶、数据结构与算法、数学在程序设计中的应用等内容,全面覆盖NOI竞赛大纲所要求的进阶知识。根据竞赛的特点,书中还对一些常见的难点和易错点进行了深入解析。
本书可作为信息学奥林匹克竞赛的教学用书,也可作为青少年学习计算机科学知识、了解信息学奥赛的参考资料。
【目录】
CCF 信息学奥赛入门篇
丛书序
前言
第*章 编程基础知识
第*节 初识C++程序3
一、情境导航3
二、知识探究3
(一)C++程序的基本结构3
(二)集成开发环境4
三、实践应用5
四、总结提升7
第二节 整数算术运算9
一、情境导航9
二、知识探究9
(一)cout语句9
(二)算术运算符10
三、实践应用11
四、总结提升12
五、学习检测14
第三节 实数算术运算15
一、情境导航15
二、知识探究15
(一)C++语言中实数的概念15
(二)实数与整数的区别16
(三)常用的数学函数16
三、实践应用17
四、总结提升18
五、学习检测21
本章回顾22
第二章 数据的存储与读入
第*节 变量和变量的类型25
一、情境导航25
二、知识探究25
(一)变量和数据类型25
(二)数据类型转换26
三、实践应用28
四、总结提升33
五、学习检测36
第二节 赋值语句和数学表达式37
一、情境导航37
二、知识探究38
(一)赋值语句38
(二)变量的自增自减38
(三)常量定义39
三、实践应用39
四、总结提升43
五、学习检测46
第三节 变量的读入47
一、情境导航47
二、知识探究47
(一)cin语句47
(二)顺序结构程序设计48
三、实践应用49
四、总结提升53
五、学习检测56
第四节 scanf语句和printf语句57
一、情境导航57
二、知识探究58
(一)printf格式输出函数58
(二)scanf格式输入函数59
三、实践应用60
四、总结提升65
五、学习检测66
本章回顾68
第三章 程序的选择执行
第*节 if语句和关系表达式71
一、情境导航71
二、知识探究71
(一)if语句的格式71
(二)分支语句中关系表达式的设计72
三、实践应用73
四、总结提升76
五、学习检测78
第二节 逻辑表达式和条件表达式79
一、情境导航79
二、知识探究80
(一)逻辑运算和逻辑表达式80
(二)逻辑型变量81
(三)条件表达式81
三、实践应用82
四、总结提升85
五、学习检测86
第三节 嵌套if语句87
一、情境导航87
二、知识探究88
(一)嵌套if语句的概念88
(二)嵌套if语句使用的注意事项88
三、实践应用89
四、总结提升96
五、学习检测99
第四节 switch语句100
一、情境导航100
二、知识探究101
(一)switch语句的格式101
(二)switch语句使用的注意事项102
三、实践应用102
四、总结提升106
五、学习检测109
本章回顾110
第四章 程序段的反复执行
第*节 for语句113
一、情境导航113
二、知识探究114
(一)循环结构114
(二)for语句的格式114
三、实践应用115
四、总结提升120
五、学习检测122
第二节 while语句125
一、情境导航125
二、知识探究125
(一)while语句的格式125
(二)模拟法126
三、实践应用127
四、总结提升132
五、学习检测134
第三节 do while语句136
一、情境导航136
二、知识探究137
(一)do while语句的格式137
(二)位运算138
三、实践应用139
四、总结提升144
五、学习检测146
第四节 多层循环148
一、情境导航148
二、知识探究149
(一)多层循环149
(二)枚举法150
三、实践应用151
四、总结提升159
五、学习检测161
本章回顾165
第五章 数据的批量存储
第*节 一维数组169
一、情境导航169
二、知识探究170
(一)一维数组170
(二)数组的初始化170
三、实践应用171
四、总结提升174
五、学习检测177
第二节 活用数组和数组下标179
一、情境导航179
二、知识探究179
三、实践应用180
四、总结提升189
五、学习检测193
第三节 字符数组与字符串196
一、情境导航196
二、知识探究196
(一)字符数组196
(二)字符串198
三、实践应用200
四、总结提升207
五、学习检测209
本章回顾214
第六章 模块化程序设计
第*节 自定义函数217
一、情境导航217
二、知识探究217
(一)自定义函数的定义217
(二)自定义函数的调用218
(三)传值参数与传引用参数219
(四)常量与变量的作用范围220
三、实践应用221
四、总结提升230
五、学习检测233
第二节 递归函数235
一、情境导航235
二、知识探究237
(一)递归函数237
(二)递归的要素237
三、实践应用238
四、总结提升247
五、学习检测250
本章回顾254
第七章 NOI系列竞赛相关规定
第*节 文件及其基本操作257
一、情境导航257
二、知识探究257
(一)文件类型258
(二)文件操作259
三、实践应用263
四、总结提升269
五、学习检测273
第二节 NOI系列竞赛环境275
一、情境导航275
二、知识探究275
(一)code::Blocks集成开发环境275
(二)gcc/g++编译器278
三、实践应用280
四、总结提升282
本章回顾285
《CCF 信息学奥赛入门篇》练习指导
丛书序
前 言
第*章 编程基础知识1
第*节 初识C++程序3
第二节 整数算术运算5
第三节 实数算术运算8
第二章 数据的存储和读入13
第*节 变量和变量的类型15
第二节 赋值语句和数学表达式19
第三节 变量的读入22
第四节 scanf语句和printf语句27
第三章 程序的选择执行33
第*节 if语句和关系表达式 35
第二节 逻辑表达式和条件表达式39
第三节 嵌套if语句43
第四节 switch语句48
第四章 程序段的反复执行57
第*节 for循环语句59
第二节 while语句72
第三节 do…while语句84
第四节 多层循环92
第五章 数据的批量存储105
第*节 一维数组107
第二节 活用数组和数组下标113
第三节 字符数组与字符串127
第六章 模块化程序设计141
第*节 自定义函数143
第二节 递归函数151
第七章 NOI系列竞赛相关规定163
CCF信息学奥赛基础篇
丛书序
前言第*章 C++程序设计进阶第*节 二维数组3一、情境导航3
二、问题抽象3
三、知识探究4
(一) 二维数组的定义4
(二) 二维数组的输入、输出4
(三) 贪吃蛇问题5
四、实践应用6
五、总结提升9第二节 多维数组11一、情境导航11
二、问题抽象12
三、知识探究12
(一) 三维数组的定义12
(二) 三维数组的输入、输出13
(三) 统计石头问题13
四、实践应用15
五、总结提升19第三节 常用数学函数23一、情境导航23
二、问题抽象23
三、知识探究24
(一) 绝对值函数24
(二) 四舍五入函数24
(三) 取下整函数(地板函数)25
(四) 取上整函数(天花板函数)26
(五) 平方根函数26
(六) 常用三角函数27
(七) 对数函数27
(八) 幂函数28
四、实践应用29
五、总结提升31第四节 自定义函数的参数33一、情境导航33
二、问题抽象33
三、知识探究34
(一) 形参和实参34
(二) 参数的传递方式34
四、实践应用36
五、总结提升38第五节 结构体与联合体42一、情境导航42
二、问题抽象43
三、知识探究44
(一) 结构体的引入44
(二) 结构体的定义44
(三) 创建结构体变量45
(四) 访问结构体变量的成员45
(五) 初始化结构体变量的成员45
(六) 结构体数组46
(七) 结构体作为函数参数46
(八) 图书馆里的寻书游戏46
四、实践应用48
五、总结提升51第六节 指针类型60一、情境导航60
二、问题抽象60
三、知识探究61
(一) 什么是指针61
(二) 如何声明指针61
(三) 指针的初始化62
(四) 使用指针62
(五) 指针和函数63
(六) 指针的算术运算63
(七) 指针与数组63
(八) 动态分配内存64
四、实践应用66
五、总结提升68第七节 STL(标准模板库)——算法函数72一、情境导航72
二、问题抽象72
三、知识探究73
(一) 什么是STL73
(二) 算法函数max、min、swap73
(三) 算法函数sort75
四、实践应用77
五、总结提升80第八节 STL(标准模板库)——线性容器85一、情境导航85
二、问题抽象86
三、知识探究87
(一) STL的线性容器87
(二) STL的向量(vector)87
(三) 向量的成员函数89
(四) STL的链表(list)90
(五) STL的队列(queue)92
(六) STL的栈(stack)93
(七) 线性容器相关函数总结95
四、实践应用96
五、总结提升98第二章 数据结构及其运用第*节 线性结构——链表103一、情境导航103
二、问题抽象103
三、知识探究104
(一) 链表的基本概念104
(二) 链表的分类104
(三) 链表的操作105
(四) 链表操作的STL list实现105
(五) 链表操作的数组模拟实现106
(六) 双向链表操作的数组模拟实现109
(七) 循环链表操作的数组模拟实现111
(八) 为什么学习链表操作的数组模拟实现112
四、实践应用112
五、总结提升116第二节 线性结构——队列和栈116一、情境导航116
二、问题抽象117
三、知识探究117
(一) 什么是队列117
(二) 队列的基本操作117
(三) 队列操作的STL queue实现118
(四) 队列操作的数组实现119
(五) 与队列类似的栈121
(六) 栈的基本操作121
(七) 栈操作的STL stack实现121
(八) 栈操作的数组实现122
四、实践应用124
五、总结提升130第三节 树的引入133一、情境导航133
二、问题抽象134
三、知识探究134
(一) 什么是树134
(二) 树的表示与存储135
(三) 树的基本操作136
四、实践应用137
五、总结提升139第四节 二叉树141一、情境导航141
二、问题抽象142
三、知识探究142
(一) 什么是二叉树142
(二) 二叉树的性质143
(三) 二叉树的表示与存储143
(四) 二叉树的基本操作144
四、实践应用144
五、总结提升146第五节 二叉搜索树150一、情境导航150
二、问题抽象151
三、知识探究151
(一) 什么是二叉搜索树151
(二) 二叉搜索树的插入操作152
(三) 二叉搜索树的查找操作153
(四) 二叉搜索树的遍历操作154
四、实践应用155
五、总结提升157第六节 哈夫曼树160一、情境导航160
二、问题抽象160
三、知识探究161
(一) 什么是哈夫曼树161
(二) 构建哈夫曼树161
(三) 哈夫曼树的性质162
(四) 哈夫曼编码162
(五) 哈夫曼编码的实现163
四、实践应用166
五、总结提升169第七节 完全二叉树170一、情境导航170
二、问题抽象170
三、知识探究171
(一) 什么是完全二叉树171
(二) 完全二叉树的平衡性质171
(三) 完全二叉树的数组实现171
(四) 什么是堆173
(五) 堆的操作173
四、实践应用175
五、总结提升177第八节 图的定义和存储181一、情境导航181
二、问题抽象182
三、知识探究183
(一) 什么是图183
(二) 图的性质183
(三) 什么是图的邻接矩阵184
(四) 图的邻接矩阵的实现185
(五) 图的邻接矩阵的优缺点186
(六) 图的邻接链表186
(七) 图的邻接链表的实现187
(八) 图的邻接链表的优缺点188
四、实践应用188
五、总结提升190第三章 算法设计第*节 算法基础195一、算法概述195
(一) 算法的定义195
(二) 算法的特性195
二、算法的描述195
(一) 自然语言描述195
(二) 流程图描述196
(三) 伪代码描述197
(四) 三种描述方式的比较197第二节 基础算法1——贪心法198一、情境导航198
二、问题抽象198
三、知识探究199
(一) 贪心法的定义与原理199
(二) 贪心法的适用场景199
(三) 分发饼干问题199
四、实践应用201
五、总结提升206第三节 基础算法2——递推法208一、情境导航208
二、问题抽象209
三、知识探究209
(一) 递推法的基本步骤209
(二) 递推法的适用场景210
四、实践应用210
五、总结提升213第四节 基础算法3——递归法214一、情境导航214
二、问题抽象215
三、知识探究216
(一) 什么是递归法216
(二) 斐波那契数列的递归法描述216
(三) 递归法的优点216
四、实践应用217
五、总结提升221第五节 基础算法4——二分法222一、情境导航222
二、问题抽象223
三、知识探究223
(一) 二分法原理223
(二) 二分法的基本步骤223
四、实践应用225
五、总结提升229第六节 基础算法5——倍增法233一、情境导航233
二、问题抽象233
三、知识探究234
四、实践应用236
五、总结提升238第七节 基础算法6——前缀和245一、情境导航245
二、问题抽象245
三、知识探究245
(一) 前缀和的定义与优势245
(二) 前缀和的适用场景246
(三) 用前缀和解决仓库统计问题246
四、实践应用248
五、总结提升250
(一) 注意事项250
(二) 算法复杂度250
(三) 前缀和的优缺点250第八节 数值处理算法256一、情境导航256
二、问题抽象257
三、知识探究257
(一) 高精度加法257
(二) 高精度减法259
(三) 高精度乘法262
四、实践应用264
五、总结提升265第九节 排序算法269一、情境导航269
二、问题抽象270
三、知识探究271
(一) 冒泡排序271
(二) 选择排序273
(三) 插入排序275
四、实践应用276
五、总结提升278第十节 搜索算法281一、情境导航281
二、问题抽象282
三、知识探究282
(一) 深度优先搜索282
(二) 广度优先搜索287
四、实践应用290
五、总结提升292第十一节 图论算法298一、情境导航298
二、问题抽象299
三、知识探究299
(一) 图的深度优先搜索299
(二) 图的广度优先搜索303
四、实践应用305
五、总结提升308第十二节 动态规划1——简单一维动态规划312一、情境导航312
二、问题抽象312
三、知识探究313
(一) 动态规划概述315
(二) 动态规划的原理315
四、实践应用317
五、总结提升320第十三节 动态规划2——简单背包类型动态规划321一、情境导航321
二、问题抽象322
三、知识探究329
四、实践应用331
五、总结提升334ⅩⅦⅩⅧ第十四节 动态规划3——简单区间类型动态规划335一、情境导航335
二、问题抽象336
三、知识探究337
四、实践应用340
五、总结提升344第四章 数学运用第*节 初等数论351一、情境导航351
二、问题抽象351
三、知识探究352
(一) 整除352
(二) 因数(因子)352
(三) 倍数352
(四) 指数352
(五) 质数与合数352
(六) 整数唯一分解定理352
四、实践应用357
五、总结提升363第二节 组合数学368一、情境导航368
二、问题抽象369
三、知识探究369
(一) 加法原理与乘法原理369
(二) 排列与组合370
四、实践应用371
五、总结提升374
附录 本书内容与NOI竞赛大纲的对应关系379
CCF 信息学奥赛提高篇
丛书序
前言
第*章 C++程序设计进阶
第*节 STL简介3
一、STL的定义与历史3
二、STL版本简介3
三、如何理解泛型编程4
四、STL的六大组件6
五、STL的优点7
六、本节小结8
第二节 STL的容器9
一、容器概述9
二、序列容器9
三、关联容器14
四、容器适配器16
五、bitset20
六、本节小结25
第三节 STL的迭代器25
一、迭代器的基本概念25
二、迭代器的分类26
三、迭代器的操作28
四、迭代器的使用示例29
五、本节小结30
第二章 数据结构与算法
第*节 线性结构33
一、单调队列33
二、ST表37
三、本节小结40
第二节 集合与并查集40
一、集合41
二、并查集42
三、本节小结50
第三节 树及其应用50
一、树、森林与二叉树的转换50
二、二叉堆及其应用52
三、树的简单应用59
四、*近公共祖先71
五、树状数组75
六、线段树81
七、笛卡儿树88
八、字典树96
九、二叉查找树102
十、平衡树106
十一、本节小结112
第四节 图及其应用112
一、*小生成树112
二、*短路径117
三、单源次短路径126
四、拓扑排序129
五、欧拉路径和欧拉回路134
六、强连通分量136
七、割点与割边139
八、二分图143
九、本节小结150
第五节 哈希表及其应用150
一、数值的哈希151
二、冲突的处理152
三、字符串哈希158
四、数据结构哈希162
五、本节小结164
第六节 排序算法165
以下为对购买帮助不大的评价