跳转至

机器人实验室第二阶段培养计划

目标

1.算法/数据结构模块2 2.OOP编程/泛型编程 3.熟练使用Python 4.熟练使用Git、CMake、Make、GDB等基础工具

第二阶段大纲

Python编程

Python基础语法

venv环境的使用

...To be continue

基础知识与编程环境

Git版本控制以及协作流程

...To be continue

Github应用

...To be continue

常见编译选项

...To be continue

调试工具GDB的使用

...To be continue

Make/CMake构建工具

...To be continue

C++程序设计

类(class)

类的概念及简单应用
成员函数和运算符重载
面向对象的程序设计思想(OOP)

...To be continue

STL模板 - 2

线段树
字典树(Trie树)
笛卡尔树
映射(map)、多重映射(multimap)
平衡树:AVL、treap、splay等

数据结构 - 2

特殊树

线段树
可持久化线段树
树状数组

算法

算法策略

分块
离线处理思想
复杂分治思想
平衡规划思想
构造思想

字符串相关算法

KMP算法
Manacher算法
扩展KMP算法
有穷自动机
AC自动机
后缀数组
后缀树
后缀自动机

搜索算法

搜索的剪枝优化
启发式搜索
双向广度优先搜索
迭代加深搜索

图论算法

欧拉道路和欧拉回路
二分图的判定
强连通分量
割点、割边
树的重心、直径、DFS序与欧拉序
树上差分、子树和与倍增
最近公共祖先

动态规划

树型动态规划
状态压缩动态规划
动态规划的常用优化

数学与其他

初等数论

同余式
欧拉定理和欧拉函数
费马小定理
威尔逊定理
裴蜀定理
模运算意义下的逆元
扩展欧几里得算法
中国剩余定理

离散与组合数学

多重集合
等价类
多重集上的排列
多重集上的组合
错排列、圆排列
鸽巢原理
二项式定理
容斥原理
卡特兰(Catalan)数

线性代数

向量与矩阵的概念
向量的运算
矩阵的初等变换
矩阵的运算:加法、减法、乘法与转置
特殊矩阵的概念:单位阵、三角阵、对称阵和稀疏矩阵
高斯消元法