商品详情
书名:我的第一本算法竞赛启蒙书
定价:78.0
ISBN:9787030838193
作者:钟旸,陈茁,罗云珂
版次:1
出版时间:2026-06
内容提要:

本书旨在为零基础的青少年提供一套系统、科学、循序渐进的CSP算法竞赛入门解决方案。
全书共分12章,按照“语言基础→算法与数学思维→数据结构与图论入门”三个梯度层层递进,内容涵盖C++基本语法、程序控制结构,以及初等数论、递归分治、动态规划、图论与STL容器等核心知识。本书特色鲜明:从数学原理自然引出算法,揭示经典算法背后的数学结构;大量运用示意图,使复杂逻辑直观可感;知识点环环相扣,紧密贴合CSP-J/S考纲;学练结合,配套线上评测平台提供实时反馈,真正实现“知行合一”。
目录:
目录
第1章 轻松写程序 1
1.1 程序概念与C++基础程序 1
1.1.1 程序概念 1
1.1.2 C++基础程序 2
1.1.3 小节练习 3
1.2 输出指令 4
1.2.1 cout指令 4
1.2.2 换行指令 5
1.2.3 小节练习 6
1.3 数据运算 6
1.3.1 引例 6
1.3.2 数据的分类 7
1.3.3 变量的创建 8
1.3.4 变量的使用 8
1.3.5 完整程序示例 9
1.3.6 小节练习 10
1.4 数据类型 11
1.4.1 数据溢出以及其他数据类型 11
1.4.2 格式化输出 13
1.4.3 运算中的数据类型匹配 14
1.4.4 商和余数 15
1.4.5 小节练习 15
1.5 顺序结构程序设计 16
1.5.1 设计程序示例与注释 16
1.5.2 向上取整与向下取整 17
1.5.3 常用函数 18
1.6 复习题 19
第2章 选择分支结构 21
2.1 选择分支结构 21
2.1.1 if语句 21
2.1.2 关系运算符 22
2.1.3 else分支 23
2.1.4 else if分支扩展 25
2.1.5 小节练习 27
2.2 表达式与逻辑运算 27
2.2.1 表达式求值 28
2.2.2 逗号运算符 29
2.2.3 真值与bool类型 29
2.2.4 逻辑运算符 31
2.2.5 运算符优先级 32
2.2.6 小节练习 33
2.3 选择分支结构设计 33
2.3.1 选择分支结构设计示例 33
2.3.2 嵌套分支与并列分支 36
2.3.3 switch结构 38
2.3.4 三目运算符 40
2.4 复习题 41
第3章 循环结构 43
3.1 探究循环结构 43
3.1.1 while 循环 43
3.1.2 增量运算符、减量运算符、新的赋值运算符 45
3.1.3 控制循环的三要素 46
3.1.4 for循环与do while循环 47
3.1.5 小节练习 49
3.2 循环流程设计 49
3.2.1 设计循环流程的要点 49
3.2.2 控制循环的辅助方法 52
3.2.3 灵活的while循环 55
3.2.4 嵌套循环及变量作用域 56
3.2.5 小节练习 59
3.3 初识算法 59
3.3.1 算法概念 60
3.3.2 最值算法 60
3.3.3 问题模拟 62
3.3.4 程序的优化* 64
3.3.5 小节练习 69
3.4 复习题 70
第4章 数 组 71
4.1 一维数组 71
4.1.1 引例 71
4.1.2 数组的创建与使用 72
4.1.3 数组初始化 74
4.1.4 小节练习 76
4.2 数组下标与数据关联 77
4.2.1 数组下标 77
4.2.2 数据关联 79
4.2.3 小节练习 82
4.3 二维数组 82
4.3.1 二维数组的基本使用 82
4.3.2 二维数组的应用 84
4.3.3 二维数组的越界问题 87
4.3.4 小节练习 88
4.4 C++ 数组容器 89
4.4.1 std::array 89
4.4.2 std::vector 90
4.5 复习题 92
第5章 字符与字符串 93
5.1 字符类型 93
5.1.1 字符变量 93
5.1.2 ASCII码 93
5.1.3 字符数据的相关运算 94
5.1.4 转义字符 96
5.1.5 小节练习 97
5.2 字符串的使用 97
5.2.1 字符数组与字符串 97
5.2.2 输入流* 100
5.2.3 string类型及其使用 103
5.2.4 小节练习 108
5.3 复习题 109
第6章 函数与结构体 110
6.1 函 数 110
6.1.1 什么是函数 110
6.1.2 函数的定义以及使用 111
6.1.3 函数的核心特性:实参、形参与引用 114
6.1.4 地址与指针 118
6.1.5 小节练习 120
6.2 结构体 121
6.2.1 结构体的创建与使用 121
6.2.2 结构体与函数 123
6.2.3 小节练习 127
6.3 复习题 128
第7章 算法 129
7.1 算法概念与排序算法 129
7.1.1 算法概念 129
7.1.2 排序算法 130
7.1.3 结构体排序与排序稳定性 135
7.1.4 小节练习 137
7.2 线性搜索与二分搜索 138
7.2.1 线性搜索 138
7.2.2 二分搜索 138
7.2.3 枚举 140
7.2.4 二分答案 141
7.2.5 小节练习 143
7.3 算法的效率评估 144
7.3.1 大O标记 144
7.3.2 时间复杂度 145
7.3.3 空间复杂度 148
7.3.4 小节练习 149
7.4 STL与其他算法范式 150
7.4.1 STL中的部分算法函数 150
7.4.2 算法范式 154
7.4.3 小节练习 157
7.5 复习题 157
第8章 初等数论 159
8.1 整除性与模运算 159
8.1.1 整除与除法运算 159
8.1.2 模运算与同余 160
8.1.3 小节练习 163
8.2 整数的表示与计算 164
8.2.1 进制展开式 164
8.2.2 构造整数的b进制展开式 165
8.2.3 整数的运算算法 167
8.2.4 计算机中整数的表示 171
8.2.5 小数的表示* 174
8.2.6 小节练习 175
8.3 质数与…公约数 176
8.3.1 质数与算术基本定理 176
8.3.2 试除法 177
8.3.3 质数筛法 179
8.3.4 …公约数与最小公倍数 182
8.3.5 小节练习 184
8.4 复习题 184
第9章 递归与分治 186
9.1 递 归 186
9.1.1 递归定义 186
9.1.2 递归算法 187
9.1.3 深度优先搜索 189
9.1.4 递归与迭代 191
9.1.5 记忆化递归 193
9.1.6 小节练习 193
9.2 分治算法 194
9.2.1 汉诺塔问题 194
9.2.2 分治算法的基本步骤 195
9.2.3 归并排序 196
9.2.4 快速排序 198
9.2.5 小节练习 201
9.3 复习题 201
第10章 计数 203
10.1 计数的基本原理 203
10.1.1 乘法原理 203
10.1.2 加法原理 204
10.1.3 综合的计数问题 205
10.1.4 通过枚举求解计数问题 206
10.1.5 减法原理与除法原理 208
10.1.6 小节练习 210
10.2 排列与组合 211
10.2.1 排列 211
10.2.2 组合 212
10.2.3 二项式系数及其应用 213
10.2.4 排列与组合的扩展 215
10.2.5 小节练习 220
10.3 枚举排列与枚举子集 220
10.3.1 枚举排列 221
10.3.2 枚举子集 223
10.3.3 小节练习 225
10.4 递推与动态规划 225
10.4.1 递推关系 226
10.4.2 动态规划 229
10.4.3 背包问题 233
10.4.4 序列类动态规划 237
10.4.5 区间动态规划 241
10.4.6 小节练习 244
10.5 复习题 244
第11章 基础数据结构 247
11.1 前缀和与差分 247
11.1.1 前缀和 248
11.1.2 前缀思想 249
11.1.3 差分 251
11.1.4 小节练习 253
11.2 栈 253
11.2.1 栈的操作 253
11.2.2 STL 栈 255
11.2.3 数组模拟栈 257
11.2.4 栈的应用 258
11.2.5 小节练习 260
11.3 队列 260
11.3.1 队列的操作及STL 队列 260
11.3.2 数组模拟队列 262
11.3.3 滑动窗口技巧 264
11.3.4 小节练习 265
11.4 链表 266
11.4.1 链表的特征及基本操作 266
11.4.2 数组模拟链表 268
11.4.3 STL链表 270
11.4.4 扩展补充:结构体+ 指针实现链表* 272
11.4.5 小节练习 274
11.5 其他STL 常用数据结构 275
11.5.1 set 275
11.5.2 map 277
11.5.3 priority_queue 281
11.5.4 小节练习 282
11.6 复习题 283
第12章 图与树 285
12.1 图论基础 285
12.1.1 图模型 285
12.1.2 图的术语 288
12.1.3 图的表示与存储 289
12.1.4 小节练习 292
12.2 图的遍历 293
12.2.1 深度优先搜索 293
12.2.2 广度优先搜索 294
12.2.3 Flood Fill 295
12.2.4 拓扑排序 297
12.2.5 小节练习 299
12.3 树形结构 300
12.3.1 树的术语 300
12.3.2 树的表示与存储 301
12.3.3 回 溯 304
12.3.4 小节练习 305
12.4 二叉树 306
12.4.1 二叉树及其性质 306
12.4.2 二叉树的遍历 310
12.4.3 二叉树的应用 312
12.4.4 小节练习 316
12.5 复习题 317 












- 科学出版社旗舰店 (微信公众号认证)
- 科学出版社秉承多年来形成的“高层次、高水平、高质量”和“严肃、严密、严格”的优良传统与作风,始终坚持为科技创新服务、为传播与普及科学知识服务、为科学家和广大读者服务的宗旨。
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...