之前写的这篇文章「女朋友问我:为什么 MySQL 喜欢 B+ 树?我笑着画了 20 张图],其中里面包含了很多数据结构的动图,有很多读者问我是怎么做的。事实上,我并没有做算法动图,都是我在一个算法动图网站的截的 GIF 图。网上有很多这类数据结构与算法可视化的网站,能够自己输入数据,然后看对应的数据结构/算法的动图,能够很好地帮助我们理解数据结构与算法。所以,今天我就把自己在学数据结构与算法时,用到可视化网站分享出来。
Structure Visualization
我之前那篇文章就是在 Data Structure Visualization 网站做的动图,这个网站支持很多种数据结构的动图演示。地址如下:https://www.cs.usfca.edu/~galles/visualization/因为网站是国外做的,所以实际上是英文来了,我为了方便大家看,所以翻译成了中文。该网站支持堆、栈、队列、列表、阶乘、反转字符串、N-皇后、排序、二叉树、AVL树、红黑树、B/B+树、哈希表、图、动态规划等等可视化演示,基本都是我们很常见的数据结构与算法。接下来,我以平衡二叉树作为动图演示例子,如下动图:我们可以自己随意插入、删除、查找数据,也可以自定义动图的播放速度,甚至可以一步一步的查看增删查的过程。 Data Structure Visualization 网站比较可惜的地方是,动图演示的过程没有对应的代码演示。