算法

Structure Visualization

这个网站支持很多种数据结构的动图演示。
地址:https://www.cs.usfca.edu/~galles/visualization/
因为网站是国外做的,所以实际上是英文来了,为了方便大家看,所以翻译成了中文。
算法可视化网站 - 图1
该网站支持堆、栈、队列、列表、阶乘、反转字符串、N-皇后、排序、二叉树、AVL树、红黑树、B/B+树、哈希表、图、动态规划等等可视化演示,基本都是很常见的数据结构与算法。
接下来,以平衡二叉树作为动图演示例子,如下动图:
算法可视化网站 - 图2
可以自己随意插入、删除、查找数据,也可以自定义动图的播放速度,甚至可以一步一步的查看增删查的过程。Data Structure Visualization 网站比较可惜的地方是,动图演示的过程没有对应的代码演示。

VisuAlgo

VisuAlgo 也是一个优秀的数据结构与算法可视化网站,网站可以支持中文显示。
地址:https://visualgo.net/
算法可视化网站 - 图3
VisuAlgo 网站主页显示的数据结构不多,但是并不意味它只支持显示出来的,如果想学习的数据结构并没有在主页中,可以通过搜索框来查找:
算法可视化网站 - 图4
接下来,演示下快排算法的动图演示:
算法可视化网站 - 图5
可与看到,在动图演示的过程,右下角也有对应的代码执行过程,这样可以很清晰的知道代码每一步的过程,非常便于理解,再也不用通过打 log 来看代码怎么执行的。
注意,大家在看代码执行过程的时候,建议使用英文,如果使用中文的话,演示的代码也会被翻译成中文:
算法可视化网站 - 图6

Algorithm Visualizer

Algorithm Visualizer 是强大的算法可视化工具,它不一样的地方在于,它支持 C++、Java、JavaScript 编程语言,是一个不仅能看动图,也能自己编程的网站。
地址:https://algorithm-visualizer.org/
网站的主页长下面这样:
算法可视化网站 - 图7
左半部分主要是支持的算法,中间部分是可视化动图,右半边就是提供的算法代码实例,这部分代码是可以修改的。