应该是最全的算法学习路线了吧法学习路线了吧
写在前面:
因为博主的技术有限,算法也是很难得一门科学,我只能给出尽量全的分类,然后尽可能的讲解。
但是有些算法超出了本人的能力范畴,说实在的就是我太菜了。所以大家就当本文是目录型的文章即可。
本人是退役ACMer选手,因为自己太菜,所以选择退出,别去丢人了。
1.基础算法
- 递归
- 递推
- 分治
- 贪心
- 二分
- 回溯搜索
2.动态规划
- 背包
- 线性DP
- 区间DP
- 数位DP
- 状态压缩DP
- 树形DP
- 概率/期望DP
- 插头DP
图论
- BFS DFS
- 最短路
- 第K短路
- 最小生成树(森林)
- 次小生成树
- 曼哈顿最小生成树
- 最短路径生成树
- 欧拉路径
- 拓扑排序
- 最小树形图
- 生成树计数
- 树的重心
- DAG的深度优先搜索标记
- 图的割点、桥和双连通分支的基本概念
- LCA
- 无向图找桥
- 无向图连通度(割)
- 最大团问题
- 一般图匹配带花树
- 有向图的强连通分量
- Tarjan强连通分量
- 弦图判断
- 弦图的Perfect Elimination点排列
- 稳定婚姻问题
- 双连通分支
- 无向图连通分支
- 有向图强连通分支
- 有向图最小点基
- Floyd求最小环
- 2-SAT
数据结构:
- Splay树
- 划分树
- 左偏树
- 线段树
- 树链剖分
- 动态树
- 主席树
- Trie树
- RMQ
- 二分查找
- 树状数组
- 滚动数组
- 逆序数
- 带权值的并查集
- Chtholly Tree (珂朵莉树) ODT
- SBT算法
- AVL树
- 替罪羊树
数学:
一、组合数学:
- Polya定理、burnside定理
- 置换,置换的运算
- 排列组合,区间计数,计数序列
- 鸽笼原理、容斥原理
- 递推关系
- 母函数
- 莫比乌斯反演
- 偏序关系理论
二、数论.
- 素数与整除问题
- 进制位.
- 同余模运算.
- 欧拉函数
三、计算方法
- 二分法求解单调函数相关知识.
- 三分法求解单峰(单谷)的极值.
- 0/1分数规划.
- 矩阵法
- 随机化算法
- 迭代逼近
四、计算几何
- 叉积和点积的运用(如线段相交的判定,点到线段的距离等).
- 多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交)
- 二维、三维凸包
- 扫描线算法(例如求矩形的面积和周长并,常和线段树或堆一起使用).
- 半平面求交
- 点集最小圆覆盖.
- 对踵点(最远点对)
五、博弈论
- 巴什博奕(BashGame)
- 威佐夫博奕(WythoffGame)
- 尼姆博奕(NimmGame)
- 组合博弈
六、其他数学
- 高斯消元法
- 概率问题.
- GCD、扩展的欧几里德(中国剩余定理)
- 高次同余方程
- 矩阵变换
写在最后:
Name:风骨散人,喜欢码代码,码字,目前是一名双非在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!名字的来源:我想有一天我能有能力随心所欲不逾矩,不总是向生活低头,有能力让家人拥有富足的生活而不是为了生计而到处奔波。
文章主要内容:
Python,C++,C语言,JAVA,C#等语言的教程
ACM题解、模板、算法等,主要是数据结构,数学和图论
设计模式,数据库,计算机网络,操作系统,计算机组成原理
Python爬虫、深度学习、机器学习
计算机系408考研的所有专业课内容
一些程序猿常用的软件或者黑科技什么的
目前还在更新中,先关注不迷路。微信公众号,cnblogs(博客园),CSDN同名“风骨散人”如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!
感谢大家的阅读!😘你的点赞、收藏、关注是对我最大的鼓励!