
Driver.js
轻量无依赖的JavaScript库,用于构建产品导览、功能亮点和上下文帮助。
VisuAlgo 是一个以动画交互为核心的数据结构与算法学习平台。它不依赖大段文字或抽象数学推导,而是通过逐步演示算法执行过程,将内存状态、指针移动、比较与交换等“看不见的操作”转化为可观察的视觉序列。
该平台最初由新加坡国立大学 Steven Halim 博士主导开发,长期服务于其算法课程教学,后逐步扩展为面向公众的开放资源。截至当前,平台覆盖的数据结构与算法主题超过 30 类,支持中文界面(zh_CN),并保持持续更新。
VisuAlgo 的主题组织方式以“数据结构”和“算法”两条主线展开:
| 类别 | 代表主题 |
|---|---|
| 线性结构 | 链表、栈、队列、双端队列 |
| 树形结构 | 二叉搜索树、AVL 树、红黑树、B 树、堆 |
| 图结构 | 图的遍历、最小生成树、最短路径、网络流 |
| 排序算法 | 冒泡、选择、插入、归并、快速、计数、基数 |
| 字符串算法 | KMP、后缀数组、Trie |
| 计算几何 | 凸包、线段相交 |
| 其他专题 | 动态规划、位运算、哈希表 |
每个主题通常包含:核心操作的动画演示、伪代码同步展示、复杂度分析摘要,以及可调节的输入参数(如数据规模、数据分布、操作序列)。
VisuAlgo 的动画并非单纯的“播放”,而是允许用户介入控制:
这种设计使平台既适合首次接触某个算法的学习者(慢速跟随),也适合复习者快速验证某个边界情形下的执行细节。
适合以下用途:
需注意的边界:
初次使用建议从“排序”或“二叉搜索树”入手,这两个主题的动画完成度高、参数调节直观,能快速建立对平台交互逻辑的认知。进阶用户可尝试“图算法”中的最短路径或网络流专题,通过自定义图结构验证极端输入下的算法行为。若需离线使用,平台页面本身不提供完整离线包,但核心动画依赖浏览器渲染,网络条件良好时响应流畅。







