第1部分 语言入门
第1章 简简单单写程序
1.1 程序设计的目标和流程
1.2 简单数学运算
1.3 变量与常量
1.4 课后习题与实验
第2章 顺序结构程序设计
2.1 变量的数据类型
2.2 变量的输入与输出
2.3 顺序结构程序设计案例
2.4 提交评测与错误自查
2.5 课后习题与实验
第3章 分支结构程序设计
3.1 关系表达式与逻辑表达式
3.2 分支语句
3.3 分支嵌套
3.4 分支程序设计案例
3.5 课后习题与实验
第4章 循环结构程序设计
4.1 for语句和while语句
4.2 多重循环
4.3 循环结构程序设计案例
4.4 课后习题与实验
第5章 数组与数据批量存储
5.1 一维数组
5.2 多维数组
5.3 数组应用案例
5.4 课后习题与实验
第6章 字符串与文件操作
6.1 字符数组
6.2 string类型字符串
6.3 文件操作与重定向
6.4 课后习题与实验
第7章 函数与结构体
7.1 定义子程序
7.2 变量作用域与参数传递
7.3 递归函数
7.4 结构体的使用
7.5 课后习题与实验
第2部分 初涉算法
第8章 模拟与高精度
8.1 模拟方法问题实例
8.2 高精度运算
8.3 课后习题与实验
第9章 排序
9.1 计数排序
9.2 选择排序、冒泡排序、插入排序
9.3 快速排序
9.4 排序算法的应用
9.5 课后习题与实验
第10章 暴力枚举
10.1 循环枚举
10.2 子集枚举
10.3 排列枚举
10.4 课后习题与实验
第11章 递推与递归
11.1 递推思想
11.2 递归思想
11.3 课后习题与实验
第12章 贪心
12.1 贪心与证明
12.2 哈夫曼编码
12.3 课后习题与实验
第13章 二分查找与二分答案
13.1 二分查找
13.2 二分答案
13.3 课后习题与实验
第14章 搜索
14.1 深度优先搜索与回溯法
14.2 广度优先搜索
14.3 课后习题与实验
第3部分 简单数据结构
第15章 线性表
15.1 数组
15.2 栈
15.3 队列
15.4 链表
15.5 课后习题与实验
第16章 二叉树
16.1 二叉树的概念和建立
16.2 二叉树的遍历
16.3 二叉树的综合应用
16.4 课后习题与实验
第17章 集合
17.1 并查集
17.2 Hash表
17.3 集合应用实例
17.4 课后习题与实验
第18章 图的基本应用
18.1 图的概念和建立
18.2 图的遍历
18.3 DAG 与拓扑排序
18.4 课后习题与实验
第4部分 基础数学与数论
第19章 位运算与进制转换
19.1 各种进制
19.2 二进制的深入探究
19.3 逻辑命题与位运算
19.4 课后实验与习题
第20章 计数原理与排列组合
20.1 加法原理和乘法原理
20.2 排列与组合
20.3 课后习题与实验
第21章 整除理论
21.1 整除的基本知识
21.2 质数与合数
21.3 最大公约数与最小公倍数
21.4 (选读)算术基本定理
21.5 课后习题与实验
附录
附录A 程序设计环境配置
附录B 算法评价与复杂度