(致酷德与热爱算法、编程的小伙伴们)
在查阅了相当多的资料后,发现没有那篇博客、文章很符合我们备战蓝桥杯的学习路径。以是,干脆自己整理一篇,欢迎各人补充!
一、蓝桥必备高频考点
我们以此为重点学习方向:
1. 基础算法
2. 搜索与排序
线性搜索 | 二分法 | BFS | DFS | 回溯剪枝 | 深搜优化 | 影象化搜索 | 位运算 | 冒泡排序 | 归并排序 | 快速排序 | 桶排序 | | | | 3. 动态规划
编辑间隔 | 最长不重复子串 | 整数背包 | 矩阵连乘 | 最长公共子序列 | 最长公共子串 | 最长上升子序列 | 最长回文子序列 | 最长回文子串 | 回文分割 | 最大子段合 | 最大正方形子矩阵 | 滚动数组 | | | 数位dp | 概率dp | 树形dp | 区间dp | 状压dp | 4. 数学
GCD&LCM
| 素数判断 | 素数天生 | 分解质因数 | 费马小定理 | 扩展欧几里得 | 逆元 | 高斯消元 | 整数拆分 | 模运算 | 5. 组合数学
6. 图论
毗邻矩阵 | 关联矩阵 | 毗邻表 | 链式前向星 | 有向无环图 | 判圈 | 拓扑排序 | 最短路径 | Prim | Kruskal | Dijkstra(堆优化) | Bellman | Floyd | SPFA | | 7. 数据结构
数组 | 链表 | 栈 | 队列 | 先队列 | 块状链表 | LCA | 并查集 | 线段树 | 树状数组 | 二叉树 | 哈希 | | | | 8. 多少
点和向量 | 点积、叉积 | 点和线的关系 | 多边形 | 面积、周长、体积 | 判点在多边形
多面体内外
| 坐标旋转 | | | | 二、蓝桥杯知识点总览
以下为蓝桥杯所有考点,可根据兴趣,借鉴补充题目。
1. 基础算法
- 枚举:通过遍历所有可能的情况来办理题目。
- 模拟:按照题目要求模拟实际操作过程。
- 贪心:在每一步选择中都采取最优(即最有利)的选择,从而希望导致结果是全局最优解。
- 递归:通过函数自己调用自己来办理题目。
- 分治:将原题目分解为若干个规模更小但结构相同的子题目,递归办理这些子题目,然后将子题目的解合并得到原题目的解。
2. 搜索与排序
- 子集天生:天生一个集合的所有子集。
- 线性搜索:在数组或列表中重新至尾依次查找元素。
- 二分法:在有序数组中通过折半查找的方式快速定位元素。
- 三分法:将数组分成三部门进行查找或排序。
- BFS(广度优先搜索):从根节点开始,逐层遍历所有节点。
- DFS(深度优先搜索):从根节点开始,尽可能深地搜索树的分支。
- 回溯剪枝:在深度优先搜索中,通过剪枝镌汰搜索空间,进步搜索效率。
- 影象化搜索:通过缓存中间结果,避免重复计算,进步搜索效率。
- IDA*算法:一种迭代加深的 A* 算法,联合了深度优先搜索和 A* 算法的长处。
- 位运算:使用位操作进行高效计算。
- 按位压缩存储状态:通过位运算压缩存储状态,镌汰内存占用。
- 选择排序:每次从未排序部门选择最小(或最大)元素放到已排序部门。
- 冒泡排序:通过相邻元素之间的比较和互换来排序。
- 归并排序:通过递归地将数组分成两半,排序后再合并。
- 快速排序:通过选择一个基准元素,将数组分成两部门,一部门小于基准,另一部门大于基准,然后递归排序。
- 堆排序:使用堆这种数据结构进行排序。
- 计数排序:通过统计每个元素出现的次数来进行排序。
- 桶排序:将元素分布到若干个桶中,每个桶再分别排序。
3. 动态规划
- 编辑间隔:计算两个字符串之间,将一个字符串转换成另一个字符串所需的最少编辑操作次数。
- 最长不重复子串:在字符串中找到最长的不重复字符子串。
- 整数背包:办理背包题目的一种方法,背包容量和物品重量都是整数。
- 矩阵连乘:计算矩阵连乘的最小代价。
- 最长公共子序列:在两个序列中找到最长的公共子序列。
- 最长公共递增子序列:在两个序列中找到最长的公共递增子序列。
- 最长上升子序列:在序列中找到最长的上升子序列。
- 最长回文子序列:在字符串中找到最长的回文子序列。
- 最长回文子串:在字符串中找到最长的回文子串。
- 回文分割:将字符串分割成多个回文子串。
- 最大子段和:在数组中找到连续子数组的最大和。
- 最大正方形子矩阵:在矩阵中找到最大的正方形子矩阵。
- 最长链对:在一组区间中找到最长的不重叠区间链。
- 最大递增子序列和:在序列中找到递增子序列的最大和。
- 滚动数组:通过使用较小的数组来镌汰空间复杂度。
- 数位dp:通过动态规划办理与数字位数相关的题目。
- 概率dp:通过动态规划办理概率相关的题目。
- 树形dp:在树结构上进行动态规划。
- 区间dp:在区间上进行动态规划。
- 状压dp:通过状态压缩进行动态规划。
- 插头dp:通过插头状态进行动态规划。
- 斜率优化:通过斜率优化动态规划的转移方程。
- 平行四边形优化:通过平行四边形性质优化动态规划的转移方程。
- 单调队列优化:通过单调队列优化动态规划的转移方程。
- 数据结构优化:通过数据结构优化动态规划的实现。
4. 数学
- GCD&LCM:最大公约数和最小公倍数。
- 素数判断:判断一个数是否为素数。
- 素数天生:天生一定范围内的所有素数。
- 分解质因数:将一个数分解为质因数的乘积。
- 欧拉定理:计算欧拉函数的值。
- 费马定理:费马小定理及其扩展。
- 扩展欧几里得:求解线性同余方程。
- 逆元:计算模逆元。
- 随机素数测试和大数分解:通过随机测试判断素数,以及大数分解。
- 高斯消元:通过高斯消元法解线性方程组。
- 偶合方程:解偶合方程组。
- 整数拆分:将一个整数拆分为多个整数的和。
- 大步小步算法:办理某些特定的数学题目。
- 中国剩余定理:解同余方程组。
- 原根:计算原根。
- 快速数论变动:通过快速数论变动进行高效计算。
- 线性丢番图方程:解线性丢番图方程。
- 模运算:进行模运算。
- 卢卡斯定理:计算组合数的模。
- 杜教筛:通过杜教筛法计算某些特定的数学题目。
- 威尔逊定理:通过威尔逊定理判断素数。
- 米勒罗宾随机素数测试:通过米勒罗宾测试判断素数。
- 完全数:判断一个数是否为完全数。
- 连分数:处理连分数。
5. 组合数学
- 容斥原理:通过容斥原理计算集合的巨细。
- 鸽巢定理:通过鸽巢定理办理某些组合题目。
- 乘法原理:通过乘法原理计算分列和组合的数量。
- 斯特林数:计算斯特林数。
- 卡特兰数:计算卡特兰数。
- 斐波那契数:计算斐波那契数。
- 幻方:天生幻方。
- 莫比乌斯反演:通过莫比乌斯反演办理某些组合题目。
- 母函数:通过母函数办理某些组合题目。
- 调和级数:计算调和级数。
6. 图论
- 毗邻矩阵:通过毗邻矩阵表现图。
- 关联矩阵:通过关联矩阵表现图。
- 毗邻表:通过毗邻表表现图。
- 链式前向星:通过链式前向星表现图。
- 有向无环图:处理有向无环图。
- 欧拉图:判断图是否为欧拉图。
- 判圈:判断图中是否存在环。
- 割点:找到图中的割点。
- 割边:找到图中的割边。
- 桥:找到图中的桥。
- 双连通分量:找到图中的双连通分量。
- 强连通分量:找到图中的强连通分量。
- 有向图的强连通分量:找到有向图中的强连通分量。
- 拓扑排序:对有向无环图进行拓扑排序。
- 二分图判定:判断图是否为二分图。
- 最短路径:计算图中的最短路径。
- 连通分量:找到图中的连通分量。
- 次小天生树:找到图中的次小天生树。
- 曼哈顿最小天生树:找到曼哈顿间隔下的最小天生树。
- Dijkstra(堆优化):通过堆优化的 Dijkstra 算法计算最短路径。
- Bellman:通过 Bellman-Ford 算法计算最短路径。
- Floyd:通过 Floyd-Warshall 算法计算最短路径。
- 差分约束:通过差分约束办理某些题目。
- SPFA:通过 SPFA 算法计算最短路径。
- 最小费用最大流:计算图中的最小费用最大流。
- 二分图匹配:在二分图中找到最大匹配。
- 欧拉路:找到图中的欧拉路。
7. 数据结构
- 数组:基本的数据结构,用于存储和访问数据。
- 链表:通过节点链接存储数据。
- 栈:后进先出的数据结构。
- 队列:先进先出的数据结构。
- 先队列:优先队列,用于存储和访问数据。
- 双端队列:可以在两头进行插入和删除操作的数据结构。
- 块状链表:通过块状结构优化链表的访问。
- 堆:通过堆结构存储和访问数据。
- 哈希:通过哈希表存储和访问数据。
- LCA:通过 LCA 算法办理某些树结构题目。
- 跳跃表:通过跳跃表优化链表的访问。
- 并查集:通过并查集办理某些集合题目。
- 字典树:通过字典树存储和访问字符串数据。
- 线段树:通过线段树办理区间查询和更新题目。
- 树状数组:通过树状数组办理某些数组题目。
- 莫队算法:通过莫队算法办理某些数组题目。
- 平衡二叉树:通过平衡二叉树存储和访问数据。
- 二叉搜索树:通过二叉搜索树存储和访问数据。
- Treap树:通过 Treap 树存储和访问数据。
- 二叉树:基本的树结构。
- 笛卡尔树:通过笛卡尔树办理某些数组题目。
- 划分树:通过划分树办理某些数组题目。
- 表达式树:通过表达式树办理某些表达式题目。
- 替罪羊树:通过替罪羊树办理某些树结构题目。
- 伸展树:通过伸展树办理某些树结构题目。
- 动态树:通过动态树办理某些树结构题目。
- 左偏堆:通过左偏堆办理某些堆题目。
- 可并堆:通过可并堆办理某些堆题目。
- 主席树:通过主席树办理某些树结构题目。
- 树链剖分:通过树链剖分办理某些树结构题目。
- KD树:通过 KD 树办理某些空间题目。
- 树套树:通过树套树办理某些树结构题目。
- FHQ_Treap:通过 FHQ_Treap 办理某些树结构题目。
8. 多少
- 点和向量:处理点和向量的基本操作。
- 点积、叉积:计算点积和叉积。
- 点和线的关系:判断点和线的位置关系。
- 多边形:处理多边形的基本操作。
- 三角形内心、外心、重心、垂心:计算三角形的内心、外心、重心和垂心。
- 费马点:计算费马点。
- 面积、周长、体积:计算多少图形的面积、周长和体积。
- 判点在多边形内外:判断点是否在多边形内部或外部。
- 三角剖分:对多边形进行三角剖分。
- 梯形剖分:对多边形进行梯形剖分。
- 多边形重心:计算多边形的重心。
- 多边形切割:对多边形进行切割操作。
- 多面体体积:计算多面体的体积。
- 坐标旋转:对坐标进行旋转操作。
- 凸包:计算点集的凸包。
- 最近点对:找到点会合的最近点对。
- 旋转卡壳:通过旋转卡壳算法办理某些多少题目。
- 半平面交:计算半平面的交集。
- 最小圆覆盖:找到覆盖点集的最小圆。
- 三维点和向量:处理三维点和向量的基本操作。
- 三维点积&叉积:计算三维点积和叉积。
- 最小球覆盖:找到覆盖点集的最小球。
- 三维凸包:计算三维点集的凸包。
指导思想:“农村包围城市,武装夺取政权”,教员的这句话太有指导含义了,大概意思就是星星之火可以燎原。从简单题开始做,不要好高骛远!当量变引起质变那一刻,蓝桥杯必能拿下!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |