好家伙,被我发现了个数据结构与算法可视化网站!

大家好,我是晓衡。

看到了小林哥这篇讲数据结构算法可视化网站的文章,觉得很不错,分享给大家,正文如下。

网上有很多这类数据结构与算法可视化的网站,能够自己输入数据,然后看对应的数据结构/算法的动图,能够很好地帮助我们理解数据结构与算法。

这让我想到,如果将它与CocosCreator结合,制作成Creator插件是不是一个方向呢?晓衡在这里抛砖引玉,希望能对你有所启发!

Structure Visualization

我之前那篇文章就是在 Data Structure Visualization 网站做的动图,这个网站支持很多种数据结构的动图演示。地址如下:

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

因为网站是国外做的,所以实际上是英文来了,我为了方便大家看,所以翻译成了中文。

42f68eae98132992f9fd2a76a8c152c2.png

该网站支持堆、栈、队列、列表、阶乘、反转字符串、N-皇后、排序、二叉树、AVL树、红黑树、B/B+树、哈希表、图、动态规划等等可视化演示,基本都是我们很常见的数据结构与算法。

接下来,我以平衡二叉树作为动图演示例子,如下动图:

ab1e01f7bb1db003f149db739b258a2b.gif

我们可以自己随意插入、删除、查找数据,也可以自定义动图的播放速度,甚至可以一步一步的查看增删查的过程。

Data Structure Visualization 网站比较可惜的地方是,动图演示的过程没有对应的代码演示。

VisuAlgo

VisuAlgo 也是一个优秀的数据结构与算法可视化网站,网站可以支持中文显示。

地址:https://visualgo.net/

9c3c139553f76e6203ba787597a1f4b0.png

VisuAlgo  网站主页显示的数据结构不多,但是并不意味它只支持显示出来的,如果你想学习的数据结构并没有在主页中,可以通过搜索框来查找:

868988cf6c9d3d6eedbb371b6c512009.png

接下来,我演示下快排算法的动图演示:

59cbc7ecd9fcb0de0d0cf347fc3e36c2.gif

可以看到,在动图演示的过程,右下角也有对应的代码执行过程,这样我们可以很清晰的知道代码每一步的过程,非常便于我们的理解,再也不用通过打 log 来看代码怎么执行的。

注意,大家在看代码执行过程的时候,建议使用英文,如果使用中文的话,演示的代码也会被翻译成中文:

7d1cf0ad021359d34145dcd944379fb4.png

Algorithm Visualizer

Algorithm Visualizer 是强大的算法可视化工具,它不一样的地方在于,它支持 C++、Java、JavaScript 编程语言,是一个不仅能看动图,也能自己编程的网站。地址:

https://algorithm-visualizer.org/

网站的主页长下面这样:

48c86f9ef6a5b120e85b531a7f861194.png

左半部分主要是支持的算法,中间部分是可视化动图,右半边就是提供的算法代码实例,这部分代码我们是可以修改的。

我以二叉搜索树的插入为例子,演示一下它的动图效果:

5c4383b1791190d193ce8b6661762910.gif

Big-O Cheat Sheet

有时候如果我们忘记某个数据结构的时间复杂度,我们可以在 Big-O Cheat Sheet 网站查:

地址:https://www.bigocheatsheet.com/

Big-O Cheat Sheet 汇总了常见数据结构的增删改查的时间复杂度,表格做的很清晰:

ba9e9b437071c3e804b6be0bb4c9f203.png

238557bd3d8c8c312e8ac5f7a258fa17.png


今天就分享到这啦,做个小结。

Data Structure Visualization 网站适合我们快速熟悉一个数据结构的增删查,因为我们可以直接在网页上自己插入、删除、查找数据,比较可惜的是,该网站没有代码过程的演示。

VisuAlgo 和 Algorithm Visualizer 网站都是可以边看数据结构/算法的动图演示,边看代码的执行过程。

如果有更好的推荐欢迎推荐,下次见啦!

欢迎加晓衡微信交流副业心得!

62bbea76f1c251a88300ddc00d3c0a8d.png

c4552242752fc0aef9e8fc5477ab932a.png

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值