目录


一、基础策略

算法名称核心特征主要应用场景
暴力枚举遍历所有可能性,逐个验证密码破解、穷举所有解
贪心算法每步选局部最优,不回溯活动选择、找零钱(部分场景)
分治法分解为独立子问题,递归解决后合并归并排序、快速排序
回溯法DFS + 剪枝,尝试后回退撤销状态N皇后、迷宫寻路、数独求解
动态规划记录子问题解(查表),避免重复计算背包问题、编辑距离、LCS
分支限界法BFS/优先队列 + 界限剪枝,求最优解旅行商问题、任务分配

二、图遍历

算法名称核心特征主要应用场景
深度优先搜索(DFS)沿一条路径深入到底,回溯,使用栈/递归连通性检测、拓扑排序
广度优先搜索(BFS)层层推进,先访问所有邻居,使用队列无权图最短路径、网络爬虫

三、动态规划细分

算法名称核心特征主要应用场景
线性DP状态在一维/二维数组按顺序递推LIS、LCS、最大子数组和
背包DP在容量限制下选物品求最大价值0/1背包、完全背包
区间DP由小区间合并成大区间递推矩阵链乘法、石子合并
树形DP在树上做DFS后序遍历,子传父树的直径、打家劫舍III
状态压缩DP用二进制位表示集合状态TSP、集合覆盖问题
数位DP按十进制位逐位统计统计1到n中不含某数字的个数

四、图论算法

算法名称核心特征主要应用场景
Dijkstra贪心策略,优先队列,非负权单源最短路径
Bellman-Ford可处理负权边,检测负环含负权边的单源最短路
Floyd动态规划,多源,O(n³)任意两点间最短路径
Kruskal按边权排序 + 并查集判环最小生成树
Prim优先队列,按点扩展最小生成树
拓扑排序对有向无环图节点线性排序(Kahn/DFS)课程表安排、编译依赖
Tarjan强连通分量缩点求强连通分量、缩点建图
网络流求最大流量(Ford-Fulkerson/Dinic)最大流、最小割、二分图匹配
匈牙利算法增广路找最大匹配二分图最大匹配

五、字符串算法

算法名称核心特征主要应用场景
KMP利用前缀函数(next数组),线性匹配单模式串匹配
Trie树树形结构存储字符串集合,支持前缀查询自动补全、单词搜索
Manacher线性时间求最长回文子串最长回文子串
AC自动机Trie + KMP(fail指针),多模式匹配敏感词过滤、多关键词搜索

六、数据结构

算法名称核心特征主要应用场景
并查集集合合并与查询连通性,路径压缩朋友圈、Kruskal、连通块
线段树递归维护区间信息,支持区间查询/更新区间最值、区间和、动态RMQ
树状数组前缀查询 + 单点更新(lowbit操作)逆序对、动态前缀和
单调栈维护单调序列,找左右第一个更大/更小元素最大矩形面积、接雨水
单调队列维护窗口内单调序列滑动窗口最值

七、搜索优化

算法名称核心特征主要应用场景
双向BFS起点终点同时BFS,相遇时停止单词接龙、八数码问题
A*搜索带启发函数(f=g+h)的BFS游戏寻路、路径规划
迭代加深限制深度DFS,逐渐放宽棋盘搜索、IDA*

八、智能优化

算法名称核心特征主要应用场景
模拟退火概率接受较差解以跳出局部最优函数最值、TSP近似解
遗传算法选择、交叉、变异迭代进化优化问题、神经网络结构搜索

九、其他常用技巧

算法名称核心特征主要应用场景
双指针两个指针协同扫描数组两数之和、链表判环
前缀和/差分预处理O(1)区间查询 / O(1)区间加减区间和、差分数组
快速幂二分乘法,O(log n)计算幂次a^b mod m、矩阵快速幂
扩展欧几里得解线性同余方程,求逆元求逆元、解模线性方程
素数筛标记法批量筛素数(埃筛/欧拉筛)求n以内所有素数
Miller-Rabin大数概率性素性测试大数素数判断
Logo

一站式 AI 云服务平台

更多推荐