cmm✨ 的算法小课堂
文字、代码、动画三者同步联动。每一步都能停下来看清楚—— 数据怎么变、代码走到哪、为什么这一步是这一步。
相邻比较与交换,最直观的入门。
每轮挑出最小值,放到未排序区间开头。
维护左侧有序区间,把新元素插入正确位置。
分而治之,稳定的对数级排序。
pivot 与分区,平均情况下最快。
在有序数组里区间折半。
从左到右逐个检查,适用于未排序数组。
在网格上一圈圈扩散,找最短路径。
一头扎到底再回溯,蛇形探索。
带权图的最短路:贪心 + 松弛。
最小堆 — 数组与树双视图。
用栈检查括号是否正确闭合。
前 / 中 / 后序,同一棵树看顺序差异。
经典 DP 入门:dp[i] 的设计与回溯。
Kadane 算法:局部最优滚动成全局最优。
欧几里得算法:反复取余直到余数为 0。