欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 48课搞定信息学奥赛(C++趣味编程)/图灵原创
      • 作者:李超|责编:王军花
      • 出版社:人民邮电
      • ISBN:9787115679116
      • 出版日期:2025/09/01
      • 页数:336
    • 售价:39.92
  • 内容大纲

        本书是一本专为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算法实例讲解
    附录  信息学奥赛成长指南