0/1 背包问题
基于容量索引的动态规划,重点解析一维数组逆序更新的核心逻辑。
基于容量索引的动态规划,重点解析一维数组逆序更新的核心逻辑。
支持负权边,并能检测源点可达负环的单源最短路径算法。
适用于非负边权的单源最短路径算法。
用动态规划求解所有点对最短路径并检测负权环。
基于已知符号频率构建最优二进制前缀码的算法。
通过有序边和并查集构造最小生成森林。
每次选择跨越割的最轻可用边,逐步生长最小生成树。
在有序随机访问数据或单调谓词上进行边界搜索。
相邻交换排序、它的不变量,以及狭窄的实际用途。
通过割性质(Cut Property)理解 Prim 与 Kruskal 算法的安全选边逻辑。
从状态定义与松弛顺序拆解最短路径算法,厘清各算法的适用边界。
LCS 动态规划解法,重点在于空间优化与路径回溯的权衡。
物品可无限分割时,按价值密度贪心选取的最优策略。
拆解独立子问题、分析合并开销及递推式复杂度。
基于状态定义与子问题复用的算法设计范式。
0/1 子集和问题的回溯实现、去重逻辑及剪枝边界条件。
基于位置枚举,利用重复值的对称性进行剪枝。
基于决策树的深度优先搜索,核心在于状态的可逆操作与有效剪枝。
按问题选择遍历、最短路径和最小生成树算法的决策地图。
使用二叉堆的原地排序,并保证最坏 $n\log n$ 上界。
贪心算法解决单位时长任务在截止时间约束下的最大利润调度问题。
分层图遍历和按边数计算的最短路径。
具有可预测运行时间和线性数组工作空间的稳定分治排序。
基于分区的排序、枢轴风险、重复值处理和栈纪律。
一张关于比较排序、稳定性、自适应性和内存权衡的决策地图。
适用于小规模或接近有序区间的自适应稳定排序。
一张关于查找、有序搜索和图遍历的决策地图。
通过斐波那契数列演示重复子问题、记忆化及状态压缩。
明确输入度量、计算模型及边界假设后的渐近运行时间分析。
区分有限博弈中策略的存在性证明、具体构造与现实执行,并说明策略窃取和游戏树剪枝的适用边界。
基于最早结束时间的最大基数区间调度算法。
基于栈的图遍历、父节点结构和 DFS 特有保证。
拆解输入、输出、辅助状态与递归栈,精准估算算法的峰值内存占用。
一张用于分析算法、识别设计模式并选择解题策略的知识地图。
不依赖排序或预处理假设的顺序查找。
基于局部选择策略,核心在于证明其正确性(交换论证、割性质等)及适用边界。
比较次数固定、交换次数较少的最小值选择排序。