继续提取 - 入门级后半部分 2.1.3 数据结构(续) 2. 简单树 - 【3】树的定义与相关概念 - 【4】树的表示与存储 - 【3】二叉树的定义与基本性质 - 【4】二叉树的表示与存储 - 【4】二叉树的遍历:前序、中序、后序 3. 特殊树 - 【4】完全二叉树的定义与基本性质 - 【4】完全二叉树的数组表示法 - 【4】哈夫曼树的定义和构造、哈夫曼编码 - 【4】二叉搜索树的定义和构造 4. 简单图 - 【3】图的定义与相关概念 - 【4】图的表示与存储:邻接矩阵 - 【4】图的表示与存储:邻接表 2.1.4 算法 1. 算法概念与描述 - 【1】算法概念 - 【2】算法描述:自然语言描述、流程图描述、伪代码描述 2. 入门算法 - 【1】枚举法 - 【1】模拟法 3. 基础算法 - 【3】贪心法 - 【3】递推法 - 【4】递归法 - 【4】二分法 - 【4】倍增法 4. 算法策略 - 【3】前缀和 - 【4】差分 5. 数值处理算法 - 【4】高精度的加法 - 【4】高精度的减法 - 【4】高精度的乘法 - 【4】高精度整数除以单精度整数的商和余数 6. 排序算法 - 【3】排序的基本概念 - 【3】冒泡排序 - 【3】选择排序 - 【3】插入排序 - 【3】计数排序 7. 搜索算法 - 【5】深度优先搜索 - 【5】广度优先搜索 8. 图论算法 - 【4】深度优先遍历 - 【4】广度优先遍历 - 【5】泛洪算法(Flood Fill) 9. 动态规划 - 【4】动态规划的基本思路 - 【4】简单一维动态规划 - 【5】简单背包类型动态规划 - 【5】简单区间类型动态规划 2.1.5 数学与其他 1. 数及其运算 - 【1】自然数、整数、有理数、实数及其算术运算(加、减、乘、除) - 【1】进制与进制转换:二进制、八进制、十进制、十六进制 2. 初等数学 - 【1】代数(初中部分) - 【1】几何(初中部分) 3. 初等数论 - 【3】整除、因数、倍数、指数、质(素)数、合数 - 【3】取整 - 【3】模运算与取余 - 【3】整数唯一分解定理 - 【3】辗转相除法(欧几里得算法) - 【4】素数筛法:埃氏筛法与线性筛法 4. 离散与组合数学 - 【2】集合 - 【2】加法原理 - 【2】乘法原理 - 【4】排列 - 【4】组合 - 【4】杨辉三角 5. 其他 - 【2】ASCII码 === 2.2 提高级 === 2.2.1 基础知识与编程环境 1. 【5】Linux系统终端中常用的文件与目录操作命令 2. 【5】Linux系统下常见文本编辑工具的使用 3. 【5】常用编译命令g++与相关编译选项 4. 【5】在Linux系统终端中运行程序,使用time命令查看程序用时 5. 【5】调试工具GDB的使用 2.2.2 C++程序设计 1. 类(class) - 【6】类的概念及简单应用 - 【6】成员函数和运算符重载 2. STL模板 - 【5】容器(container)和迭代器(iterator) - 【5】对(pair)、元组(tuple)