目录
第 3 章 入门篇(1)——入门模拟
3.1 简单模拟
- 问题 A: 剩下的树
- 问题 B: A+B
- 问题 C: 特殊乘法
- 问题 D: 比较奇偶数个数
- 问题 E: Shortest Distance (20)
- 问题 F: A+B和C (15)
- 问题 G: 数字分类 (20)
- 问题 H: 部分A+B (15)
- 问题 I: 锤子剪刀布 (20)
3.3 图形输出
3.4 日期处理
3.5 进制转换
3.6 字符串处理
- 问题 A: 字符串连接
- 问题 B: 首字母大写
- 问题 C: 字符串的查找删除
- 问题 D: 单词替换
- 问题 E: 字符串去特定字符
- 问题 F: 数组逆置
- 问题 G: 比较字符串
- 问题 H: 编排字符串
- 问题 I: 【字符串】回文串
第 4 章 入门篇(2)——算法初步
4.1 排序
4.2 散列
4.3 递归
4.4 贪心
- 问题 A: 看电视
- 问题 B: 出租车费
- 问题 C: To Fill or Not to Fill
- 问题 D: Repair the Wall
- 问题 E: FatMouse’s Trade
- 问题 F: 迷瘴
- 问题 G: 找零钱
4.5 二分
4.6 two pointers
4.7 其他高效技巧与算法
第 5 章 入门篇(3)——数学问题
5.1 简单数学
- 问题 A: 守形数
- 问题 B: 反序数
- 问题 C: 百鸡问题
- 问题 D: abc
- 问题 E: 众数
- 问题 F: 计算两个矩阵的乘积
- 问题 G: 加法等式
- 问题 H: 整数和
- 问题 I: 反序相等
- 问题 J: 多项式的值
- 问题 K: 迭代求立方根
- 问题 L: 与7无关的数
- 问题 M: 鸡兔同笼
5.2 最大公约数与最小公倍数
5.3 分数的四则运算
5.4 素数
5.5 质因子分解
5.6 大整数运算
5.7 扩展欧几里得算法
5.8 组合数
第 6 章 C++标准模版库(STL)介绍
6.1 vector 的常见用法详解
6.2 set 的常见用法详解
6.3 string 的常见用法详解
- 问题 A: 字符串处理
6.4 map 的常见用法详解
6.5 queue 的常见用法详解
6.6 prioriry_queue 的常见用法详解
6.7 stack 的常见用法详解
6.8 pair 的常见用法详解
6.9 algorithm 头文件下的常用函数
第 7 章 提高篇(1)——数据结构专题(1)
7.1 栈的应用
7.2 队列的应用
7.3 链表处理
- 问题 A: 算法2-8~2-11:链表的基本操作
- 问题 B: C语言-链表排序
- 问题 C: 最快合并链表(线性表)
- 问题 D: 链表查找(线性表)
- 问题 E: 算法2-24 单链表反转
- 问题 F: 算法2-25 有序单链表删除重复元素
第 8 章 提高篇(2)——搜索专题
8.1 深度优先搜索(DFS)
- 问题 A: 【递归入门】全排列
- 问题 B: 【递归入门】组合的输出
- 问题 C: 【递归入门】组合+判断素数
- 问题 D: 【递归入门】n皇后 问题(原始的8皇后问题)
- 问题 E: 【递归入门】出栈序列统计
- 问题 F: 【递归入门】走迷宫
8.2 广度优先搜索(BFS)
第 9 章 提高篇(3)——数据结构专题(2)
9.1 树与二叉树
本节无练习
9.2 二叉树的遍历
9.3 树的遍历
9.4 二叉查找树(BST)
9.5 平衡二叉树(AVL树)
9.6 并查集
9.7 堆
9.8 哈夫曼树
- 问题 A: 算法6-12:自底向上的赫夫曼编码
- 问题 B: 算法6-13:自顶向下的赫夫曼编码
- 问题 C: 哈夫曼树 - 超级详细的思路讲解
- 问题 D: Haffman编码
- 问题 E: 合并果子-NOIP2004TGT2
例题
书上的一部分例题,个人认为有练习价值,于是自己不看答案直接写或者看一下思路实现代码,既然写了也一并附在下面。