在浏览器里逐步观看算法的每一步——无需安装,点开即玩
这里是 AlgoCode 的算法可视化动画合集。每个动画都完整呈现算法的执行过程:元素如何比较、如何交换、指针如何移动、每一轮结束后数组处于什么状态,并配有对应的时间/空间复杂度与 C++ 参考代码,帮助信息学奥赛(CSP-J/S、NOIP)学习者把“背代码”变成“看懂过程”。持续更新中,敬请期待更多算法。
相邻比较、逐轮交换,把最大值一步步“冒泡”到末尾
选定基准原地划分,分而治之的教科书演示
逐层劈分、两两归并,稳定排序的代表
像整理手牌一样,把每个元素插到已排序区间的正确位置
每轮从未排序区间选出最小值,放到已排序区间末尾
建大顶堆后逐个取出堆顶放到末尾
统计每个值出现次数,按值域顺序输出
按个位、十位……逐位稳定排序
在有序数组上每次砍掉一半搜索区间
从头到尾逐个比较目标值
先序 / 中序 / 后序 / 层序四种遍历次序
小往左、大往右,沿路径找到空位挂上新节点
插入后失衡,通过 LL/RR/LR/RL 旋转恢复平衡
每次取权值最小的两棵树合并,构造最优前缀编码
队列驱动,一层一层向外扩散,首次到达即最短步数
一条路走到黑,走不动了回溯换方向
每次取未确定点中距离最小者松弛邻居,非负权最短路
反复摘除入度为 0 的节点,得到 DAG 的线性次序
边按权排序,用并查集跳过成环的边
逐个物品决策放或不放,滚动更新容量维 DP 表
二维 DP 表逐格填写,字符相等取左上 +1
贪心 + 二分维护 tails 数组
完全背包:每种面额无限使用,凑出目标金额的最少硬币数
后进先出:push / pop / peek
先进先出:enqueue / dequeue
哈希函数定位桶,冲突拉链 / 开放寻址
完全二叉树上浮 / 下沉维护堆序
带路径压缩与按秩合并的集合合并查询
失配时按 next 数组回跳模式串,主串指针不回退
利用回文镜像性质线性求最长回文子串