数据算法可视化学习网站

1,043 阅读4分钟

​ 小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

目录

1.数据结构可视化 (Data Structure Visualizations)

2.视觉算法 ( VisuAlgo)

3.算法可视化( Algorithm Visualizer)

 4.算法复杂性(Big-O Cheat Sheet)


         刚开始学习算法的时候最头疼的问题就是在大脑里面对数据的移动没有一个清晰的认识,所以不同的算法具体数据要如何移动如何交换,只能靠代码单步打印出来,一点一点分析。学习起来比较费劲。在无意中发现了几个算法的数据可视化网站,可以直接用动态图片的方式,直观的将数据的移动过程演示出来。对于刚开始学习数据算法很有帮助。

1.数据结构可视化 (Data Structure Visualizations)

Data Structure Visualization

1.jpg

2.jpg

打开网站后,直接点网站左侧的算法按钮,就会显示出所有的算法列表。

3.jpg

  4.jpg

想要看哪个算法,直接在右边单击就行,在这里选择比较排序算法。

5.jpg

这时就会有一个图像化界面显示出来,在这个界面就可以看到不同算法的数据排序过程。

6.gif

 选择自己想看看的排序方法,然后点paly按钮,数据就会开始动态演示,拉动滚动条可以调节数据演示的速度,还可以直接点skip forward按钮,跳过数据演示过程,直接观看结果。

2.视觉算法 ( VisuAlgo)

VisuAlgo - visualising data structures and algorithms through animation

7.jpg

8.jpg

打开网页后,直接在底下用图标的方式列除了各种算法。直接点进去观看自己想要看的算法就行。

这里直接点第一个排序

9.jpg

进去之后在左下角点创建按钮,可以直接自己定义数组内的数据。

10.jpg

定义好数组之后,在最上面选择要观察的排序算法,然后点左下角的排序按钮,开始动态演示排序过程。 

11.gif

在数据演示的过程中可以直接拖动最下角的滚动条调节速度,也可以点击中间的按钮暂停自动演示,然后单步查看。还可以直接点快进按钮,直接跳转到数据排序完成。

在排序的过程中,右下角还会有伪代码来演示排序的算法。

12.jpg

13.jpg

14.jpg

 不过右下角的代码用中文看起来比较费劲,建议将网页切换为英文状态下去查看排序代码。

3.算法可视化( Algorithm Visualizer)

Algorithm Visualizer

15.jpg

16.jpg

打开网页后在最左边选择想要演示的算法,然后点右上角的play按钮。

17.jpg

18.jpg

 这样页面最后边是代码区域,如果网页翻译成中文时,代码中的变量也会被翻译。看代码就比较费劲,建议直接在英文状态下观看。

19.gif

20.jpg

在排序的过程中,最右边会显示代码执行到了哪一步,同时屏幕中间底下的部分会显示哪些数据进行了交换 

21.jpg

在屏幕右上角也可以调节演示速度,可以通过< 和 > 按钮进行单步执行。

 4.算法复杂性(Big-O Cheat Sheet

Big-O Algorithm Complexity Cheat Sheet (Know Thy Complexities!) @ericdrowell

22.jpg

23.jpg

 这个网站上不能看到数据演示的过程,但是它会用图标的方式列出各种算法的时间复杂度和空间复杂度。

这个网站还有一个图表模式显示的网页  Big-O Cheat Sheet

24.jpg

它会将各个算法的分析用图表的形式显示出来。

25.jpg

26.gif

相信有了这几个网站的助力,相信在学习数据算法的过程中,对不同的算法理解起来就更容易了。