算法大全

一、核心算法思想类

这类算法是解决问题的“策略逻辑”,决定如何思考、拆解问题,是编程解题的核心框架:

算法思想分类 包含的具体算法(及力扣标签) 核心特点
暴力枚举 枚举、模拟、脑筋急转弯 直接遍历所有可能,适合小规模/逻辑简单场景,效率低但思路直观
分治思想 分治、递归、回溯、深度优先搜索(DFS)、广度优先搜索(BFS)、记忆化搜索、双向链表(部分场景) 把大问题拆成子问题解决,递归是实现分治的常用手段,回溯是“试错 + 回退”的分治
动态规划 动态规划、前缀和、滑动窗口、状态压缩、记忆化搜索、单调队列(优化 DP) 用“空间换时间”,保存子问题结果避免重复计算,核心是找状态转移方程
贪心策略 贪心、数学、几何、博弈、单调栈/队列(贪心优化工具) 每一步选局部最优,期望全局最优(需证明适用场景),常和排序/单调结构结合
搜索与剪枝 深度优先搜索(DFS)、广度优先搜索(BFS)、二分查找、双向搜索、记忆化搜索、剪枝(隐式) 主动遍历可能解空间,二分通过“缩小范围”剪枝,DFS/BFS 靠剪枝优化效率
排序与查找 排序(冒泡/快排等)、二分查找、滑动窗口(依赖有序性)、字符串匹配(如 KMP) 基于数据“有序性”解决问题,排序是基础,二分是高效查找手段

二、数据结构关联类

这类算法依赖特定数据结构的特性实现,是“数据结构 + 算法逻辑”的结合体:

数据结构分类 关联算法(及力扣标签) 核心依赖的数据结构特性
数组/字符串 数组、字符串、双指针、滑动窗口、前缀和、差分、线段树、树状数组 利用数组的“连续存储、随机访问”特性,解决区间查询、修改、匹配等问题
链表 链表、双向链表、递归(链表天然递归结构)、分治(链表拆分合并) 依赖链表的“离散存储、指针连接”特性,解决插入、删除、环检测等问题
树结构 树、二叉树、二叉搜索树、字典树、线段树、树状数组、拓扑排序(树/图的依赖关系) 利用树的“分层结构、递归子树”特性,解决层级遍历、搜索、区间统计等问题
哈希表/映射 哈希表、哈希函数、滚动哈希、前缀和(哈希辅助)、并查集(路径压缩用哈希思想) 依赖哈希的“快速映射、去重”特性,解决查找、分组、去重、冲突检测等问题
队列/栈 队列、栈、单调栈/队列、优先队列(堆)、滑动窗口(双端队列辅助) 利用栈的“后进先出”、队列的“先进先出”特性,解决括号匹配、单调序列、拓扑排序
图结构 图、深度优先搜索(DFS)、广度优先搜索(BFS)、最短路径(Dijkstra/Floyd)、并查集、拓扑排序 依赖图的“节点 + 边”结构,解决路径规划、连通性、依赖关系等问题

三、应用场景 & 工具类

这类算法是特定场景的“解决方案套餐”,或解决问题的“辅助工具”,常和业务场景强关联:

场景工具分类 包含的算法(及力扣标签) 典型应用场景
字符串处理 字符串、字符串匹配、字典树、滚动哈希、前缀和(字符串版) 文本搜索、词频统计、模式匹配(如代码编辑器的查找替换)
数学与几何 数学、几何、组合数学、数论、博弈、概率与统计 解决纯数学推导问题(如质数判断、几何计算),或和游戏/模拟场景结合
系统设计 设计、数据库、多线程、交互、状态压缩 面向工程化场景(如缓存设计、数据库分库分表),需考虑性能、扩展性、并发
高级数据结构 并查集、单调栈/队列、线段树、树状数组、拓扑排序 解决复杂场景的“高效查询、区间修改、依赖处理”,是竞赛/工业级开发的常用工具
优化与辅助 记忆化搜索、状态压缩、单调结构(栈/队列)、剪枝(隐式) 不是独立算法,而是优化其他算法的“工具”,用于减少计算量、提升效率

四、学习路径建议(按“基础→进阶”排序)

如果想系统学习,可以按以下顺序逐步掌握,每类先吃透基础,再拓展进阶:

  1. 基础必学
    数组/字符串 → 排序/二分 → 链表 → 哈希表 → 递归/分治 → 动态规划(DP 入门) → 贪心
    (对应力扣标签:数组 字符串 排序 二分查找 链表 哈希表 递归 动态规划 贪心

  2. 进阶拓展
    滑动窗口(双指针进阶) → 单调栈/队列(贪心 + 栈) → 并查集/线段树(高级数据结构) → 图论(DFS/BFS/最短路径) → 状态压缩(DP 进阶)
    (对应力扣标签:滑动窗口 单调栈 并查集 线段树 深度优先搜索 广度优先搜索 状态压缩

  3. 工程与数学
    设计(系统设计) → 数学(数论/几何) → 多线程 → 数据库
    (对应力扣标签:设计 数学 几何 多线程 数据库

这样分类后,能清晰看到算法之间的关联(比如动态规划常和数组/字符串结合,贪心常和单调栈搭配),也更容易规划学习路径。遇到具体题目时,也能快速归类到某类思想/数据结构下,找对应解法模板~

posted @ 2025-07-23 15:16  Toby0919  阅读(67)  评论(0)    收藏  举报