查看原文
其他

轻松学算法的秘密!可视化算法网站汇总!(附动图)

磊哥 Java中文社群 2021-06-30

对于「算法」的第一印象,我相信大部分人都是一样的,就是一个“难”字了得。

而我比较特殊,我的第一印象、第二印象以至第 N 印象都觉得很难,所以为了更好的学习和理解算法,我千金一掷一下买了一堆的算法书,有图为证:

但说实话,效果不是很好,于是磊哥就琢磨有没有更简单的学习算法的方法?没想到还真被我找到了,真实应了那句老话“瞎猫碰到死耗子”,呸、不对,是“苦心人天不负”。

那究竟如何轻松的学习算法呢?答案就是下面要介绍的这几个网站。

有了这几个网站就可以让你以动画的形式,看到算法的具体执行过程和数据的具体结构,还有算法的文字讲解以及算法的具体实现代码,接下来一起来看吧。

DataStructureVisualizations

一个数据可视化和算法可视化的网站,用它可以生成各种各样的数据结构,模拟它们添加和删除的过程,而且还可以用它来演示算法的执行过程。

内容演示

比如,我们用它来模拟一个二叉搜索树,如下图所示:

我们再用它来演示一下快速排序算法,如下图所示:


网站特点

Data Structure Visualizations 包含了很多的内容,如:常见的数组、链表、队列、二叉搜索树、红黑树、各种排序等,如下图所示:

访问地址

https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

VisuAlgo

此网站包含了更多的算法,这个从首页就可以看出来,不仅如此,它还支持关键字检索,如下图所示:

此网站除了可以以动画的方式演示算法之外,还包含了算法的文字讲解,如下图所示:

内容演示

接下来我们演示一下冒泡排序的执行过程,如下图所示:

网站特点

  • 提供了算法检索功能
  • 更多的算法支持
  • 可自定义测试数据
  • 文字讲解
  • ......

访问地址

https://visualgo.net/zh

algorithm-visualizer

此网站也支持很多算法,并且此网站提供算法的具体代码实现,它支持的语言有:Java,C++,JS 等,还有控制台也会输出整个执行的过程,能帮你更好的理解算法,如下图所示:

内容演示

我们用它来演示一下冒泡排序的执行过程,如下图所示:

网站特点

  • 算法可视化
  • 算法的具体实现代码(支持 Java、C++、JS 等语言)
  • 控制台执行步骤输出(帮助你更好的理解算法)
  • ......

访问地址

https://algorithm-visualizer.org/

总结

有了这些可视化工具之后,我们就可以更简单的学习算法了,这三个网站各有春秋,你可以使用 Data Structure Visualizations 来了解数据结构,使用 VisuAlgo 和 algorithm-visualizer 来查看算法的具体执行过程,并使用 algorithm-visualizer 来查看算法的具体实现代码,真是非常方便,赶快去试试吧。

最后的话

原创不易,都看到这了,点个「在看」再走呗,这是对我最大的支持与鼓励,谢谢你!



往期推荐

阿里《Java开发手册》中的 1 个bug!


驳《阿里「Java开发手册」中的1个bug》?


关注下方二维码,每一天都有干货!


点亮“在看”,助我写出更多好文!

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存