-
内容大纲
本书是一本专为CSP-J/S参赛选手打造的备赛指南,旨在帮助读者从零基础起步,系统掌握C++编程语言和竞赛算法,最终具备冲击信息学奥赛奖项的能力。全书内容编排科学合理,由浅入深,从最基础的C++语法(如变量、数据类型、运算符、流程控制)讲起,逐步过渡到数组、字符串、排序算法等核心知识,再深入讲解枚举、递推、递归、二分查找等基础算法,并重点剖析贪心算法、深度优先搜索(DFS)、广度优先搜索(BFS)、动态规划(DP)等竞赛高频考点,最后系统介绍栈、队列、链表、树、图等数据结构及其应用。
本书适合8岁以上对信息学奥赛或C++感兴趣的中小学生,也适合从事信息学奥赛教学的教师,或作为线下培训机构的教材。 -
作者介绍
李超(@bigbigli) 资深信息学奥赛教练,中国计算机学会(CCF)官方认证NOI指导教师,首位CCF-PTA示范课程讲师,CCF-PTA满分认证讲师,中国自动化学会青少年人工智能活动裁判员,累计学员达10万+。 -
目录
第1章 顺序结构
1.1 第1课:程序入门
1.1.1 C++简介
1.1.2 软件使用
1.1.3 标准输出语句
1.1.4 实例讲解
1.2 第2课:初识变量
1.2.1 什么是变量
1.2.2 变量的定义
1.2.3 变量的赋值
1.2.4 变量的输出
1.2.5 标准输入
1.2.6 实例讲解
1.3 第3课:实数类型
1.3.1 实数类型的相关操作
1.3.2 实例讲解一
1.3.3 格式化输出
1.3.4 实例讲解二
1.4 第4课:除法和求余
1.4.1 整数除法
1.4.2 浮点数除法
1.4.3 实例讲解一
1.4.4 余数的定义及注意事项
1.4.5 实例讲解二
1.5 第5课:强制类型转换
1.5.1 整型转换成浮点型
1.5.2 实例讲解一
1.5.3 浮点型转换成整型
1.5.4 实例讲解二
1.6 第6课:字符类型与ASCII码
1.6.1 ASCII码
1.6.2 字符类型
1.6.3 字符转换成ASCII码
1.6.4 ASCII码转换成字符
1.6.5 字符的算术运算
1.6.6 大小写字母转换
1.7 第7课:顺序结构及复合运算
1.7.1 顺序结构总结
1.7.2 变量的连续赋值
1.7.3 实例讲解一
1.7.4 变量的自增自减
1.7.5 复合运算符
1.7.6 实例讲解二
1.7.7 交换两个变量的值
第2章 选择结构
2.1 第8课:单分支结构
2.1.1 条件表达式和关系运算符
2.1.2 奇偶数问题
2.1.3 位数判断
2.1.4 打折问题
2.2 第9课:双分支结构
2.2.1 实例讲解
2.2.2 逻辑运算符
2.2.3 字母大小写判断
2.3 第10课:选择嵌套结构
2.3.1 选择嵌套框架
2.3.2 实例讲解一
2.3.3 三角形的成立条件
2.3.4 实例讲解二
2.4 第11课:多分支结构
2.4.1 多分支结构的基本框架
2.4.2 实例讲解
2.4.3 不同三角形判断
2.4.4 运算符优先级
2.5 第12课:switch结构
2.5.1 switch语句的基本框架
2.5.2 switch语句的执行过程
2.5.3 实例讲解
第3章 循环结构
3.1 第13课:for循环
3.1.1 程序执行的顺序
3.1.2 死循环
3.1.3 实例讲解
3.1.4 逆序输出
3.2 第14课:循环求和
3.2.1 循环求和的操作
3.2.2 实例讲解
3.3 第15课:循环求积
3.3.1 循环求积的操作
3.3.2 实例讲解
3.4 第16课:while循环
3.4.1 while循环的基本框架
3.4.2 while中的死循环
3.4.3 实例讲解
3.5 第17课:循环中断与继续
3.5.1 循环中断break
3.5.2 实例讲解一
3.5.3 循环继续continue
3.5.4 实例讲解二
3.6 第18课:循环嵌套
3.6.1 循环嵌套的基本操作
3.6.2 实例讲解
第4章 数组与字符串
4.1 第19课:一维数组
4.1.1 数组的概念及定义
4.1.2 实例讲解
4.2 第20课:二维数组
4.2.1 二维数组的定义与操作
4.2.2 实例讲解一
4.2.3 矩阵对角线
4.2.4 实例讲解二
4.3 第21课:字符串与字符数组
4.3.1 字符串
4.3.2 字符数组
4.4 第22课:字符数组的基本操作
4.4.1 输入和输出
4.4.2 实例讲解
4.4.3 复制与比较
第5章 排序算法
5.1 第23课:选择排序
5.1.1 选择排序的概念及步骤
5.1.2 演示及实现
5.1.3 实例讲解
5.2 第24课:冒泡排序
5.2.1 冒泡排序的概念及步骤
5.2.2 演示及实现
5.2.3 实例讲解
5.2.4 冒泡排序优化
5.3 第25课:插入排序
5.3.1 插入排序的概念及步骤
5.3.2 演示及实现
5.3.3 实例讲解
5.4 第26课:计数排序
5.4.1 计数排序的概念及步骤
5.4.2 演示及实现
5.4.3 实例讲解
5.4.4 计数排序的去重与计数
第6章 基础算法
6.1 第27课:暴力枚举
6.1.1 枚举的概念与案例实现
6.1.2 枚举的优缺点
6.1.3 实例讲解
6.2 第28课:递推算法
6.2.1 递推算法的概念
6.2.2 实例讲解
6.3 第29课:认识函数
6.3.1 函数的定义
6.3.2 形参与实参
6.3.3 函数的声明
6.3.4 函数的值传递和引用传递
6.3.5 数组作为函数参数
6.4 第30课:结构体及排序
6.4.1 定义及操作
6.4.2 实例讲解
6.4.3 结构体成员函数
6.4.4 结构体排序
6.5 第31课:递归算法
6.5.1 递归的实例演示
6.5.2 递归的三大要素
6.5.3 实例讲解
6.5.4 汉诺塔问题
6.6 第32课:二分查找
6.6.1 二分查找的概念
6.6.2 二分查找的操作
6.6.3 二分查找的优势
6.6.4 实例讲解
第7章 数学问题
7.1 第33课:因数、公约数和公倍数
7.1.1 因数及其相关知识
7.1.2 最大公约数
7.1.3 辗转相除法
7.1.4 最小公倍数
7.2 第34课:质数和合数
7.2.1 质数的概念及判断
7.2.2 合数和质因数
7.2.3 埃拉托色尼筛法
第8章 模拟算法
8.1 第35课:一维数组模拟
8.1.1 核心考查
8.1.2 实例讲解
8.2 第36课:二维数组模拟
8.2.1 核心考查
8.2.2 实例讲解
8.3 第37课:日期模拟
8.3.1 基础模板
8.3.2 实例讲解
8.4 第38课:字符串模拟
8.4.1 常见应用场景
8.4.2 字符串常用函数
8.4.3 实例讲解
第9章 算法进阶
9.1 第39课:贪心算法
9.1.1 策略演示
9.1.2 概念及证明
9.1.3 实例讲解
9.2 第40课:深度优先搜索
9.2.1 情景引入及建模
9.2.2 深度优先搜索模板
9.2.3 实例讲解
9.3 第41课:广度优先搜索
9.3.1 情景引入及建模
9.3.2 广度优先搜索模板
9.3.3 实例讲解
9.4 第42课:动态规划
9.4.1 记忆化搜索
9.4.2 动态规划
9.4.3 实例讲解
第10章 数据结构
10.1 第43课:栈及其应用
10.1.1 栈的定义、特点和操作
10.1.2 STL中栈的基本使用
10.1.3 实例讲解
10.2 第44课:队列及其应用
10.2.1 队列的定义和特点
10.2.2 数组模拟队列
10.2.3 STL中队列的基本使用
10.3 第45课:链表及其操作
10.3.1 单链表
10.3.2 指针
10.3.3 单链表的相关操作
10.3.4 完整操作
10.4 第46课:树及其应用
10.4.1 树的相关概念
10.4.2 二叉树及其相关概念
10.4.3 二叉树的遍历
10.4.4 二叉树的建立
10.5 第47课:图及其应用
10.5.1 图的定义及相关概念
10.5.2 图的存储
10.6 第48课:图的最短路径
10.6.1 Floyd算法
10.6.2 Floyd算法实例讲解
10.6.3 Dijkstra算法
10.6.4 Dijkstra算法实例讲解
附录 信息学奥赛成长指南
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
