跳转至

VisuAlgo — 算法可视化工具

简介

VisuAlgo 是由新加坡国立大学 Steven Halim 教授开发的数据结构和算法可视化工具。它不是传统意义上的"课程",而是一个交互式网站,让你能看到各种数据结构和算法的动态执行过程。

你可以在 VisuAlgo 上看到:排序算法中每一步元素的交换、BST 的插入和删除过程、Dijkstra 算法如何一步步找到最短路径、BFS/DFS 如何遍历图、哈希表如何处理冲突……这些动画演示让抽象的算法变得直观可感。

对于自学者来说,VisuAlgo 是最好的辅助工具之一。当你学完一个算法后,来这里看一遍动画,能帮你把代码和算法的执行过程联系起来。

先修要求

无。VisuAlgo 适合任何阶段的学习者。

难度

🌟(入门)

这是一个工具,不是课程。使用门槛极低,打开网站就能用。

学时

按需使用。建议每次学完一个算法后花 10-15 分钟在 VisuAlgo 上看对应的动画演示。

课程资源

  • 网站:visualgo.net
  • 支持语言:中文、英文等多语言
  • 覆盖主题:排序、链表、栈、队列、哈希表、BST、AVL 树、堆、图、并查集、动态规划等

自学建议

  1. 学完一个算法后立即来看动画。 比如刚学完快速排序,就去 VisuAlgo 上看一趟完整的排序动画,你会对 partition 过程有全新的理解。

  2. 自己动手操作。 VisuAlgo 允许你输入自定义数据,然后看算法如何处理你的数据。这比看预设的演示更有教育意义。

  3. 配合刷题使用。 在 LeetCode 上遇到不会的算法题时,先去 VisuAlgo 上看一遍对应的算法演示,再回来做题。

  4. 重点关注图算法的可视化。 图算法(Dijkstra、BFS/DFS、拓扑排序、最小生成树)是最难用脑子想象的,VisuAlgo 的动画演示在这里价值最大。

  5. 不要只看不动手。 VisuAlgo 是辅助工具,不能替代自己写代码。看完动画后,关掉网站,自己实现一遍算法。