目录
1.数据结构可视化 (Data Structure Visualizations)
3.算法可视化( Algorithm Visualizer)
刚开始学习算法的时候最头疼的问题就是在大脑里面对数据的移动没有一个清晰的认识,所以不同的算法具体数据要如何移动如何交换,只能靠代码单步打印出来,一点一点分析。学习起来比较费劲。在无意中发现了几个算法的数据可视化网站,可以直接用动态图片的方式,直观的将数据的移动过程演示出来。对于刚开始学习数据算法很有帮助。
1.数据结构可视化 (Data Structure Visualizations)
https://www.cs.usfca.edu/~galles/visualization/about.html
打开网站后,直接点网站左侧的算法按钮,就会显示出所有的算法列表。
想要看哪个算法,直接在右边单击就行,在这里选择比较排序算法。
这时就会有一个图像化界面显示出来,在这个界面就可以看到不同算法的数据排序过程。
选择自己想看看的排序方法,然后点paly按钮,数据就会开始动态演示,拉动滚动条可以调节数据演示的速度,还可以直接点skip forward按钮,跳过数据演示过程,直接观看结果。
2.视觉算法 ( VisuAlgo)
https://visualgo.net/en
打开网页后,直接在底下用图标的方式列除了各种算法。直接点进去观看自己想要看的算法就行。
这里直接点第一个排序
进去之后在左下角点创建按钮,可以直接自己定义数组内的数据。
定义好数组之后,在最上面选择要观察的排序算法,然后点左下角的排序按钮,开始动态演示排序过程。
在数据演示的过程中可以直接拖动最下角的滚动条调节速度,也可以点击中间的按钮暂停自动演示,然后单步查看。还可以直接点快进按钮,直接跳转到数据排序完成。
在排序的过程中,右下角还会有伪代码来演示排序的算法。
不过右下角的代码用中文看起来比较费劲,建议将网页切换为英文状态下去查看排序代码。
3.算法可视化( Algorithm Visualizer)
https://algorithm-visualizer.org/
打开网页后在最左边选择想要演示的算法,然后点右上角的play按钮。
这样页面最后边是代码区域,如果网页翻译成中文时,代码中的变量也会被翻译。看代码就比较费劲,建议直接在英文状态下观看。
在排序的过程中,最右边会显示代码执行到了哪一步,同时屏幕中间底下的部分会显示哪些数据进行了交换
在屏幕右上角也可以调节演示速度,可以通过< 和 > 按钮进行单步执行。
4.算法复杂性(Big-O Cheat Sheet)
https://www.bigocheatsheet.com/
这个网站上不能看到数据演示的过程,但是它会用图标的方式列出各种算法的时间复杂度和空间复杂度。
这个网站还有一个图表模式显示的网页 https://bigocheatsheet.io/
它会将各个算法的分析用图表的形式显示出来。
相信有了这几个网站的助力,相信在学习数据算法的过程中,对不同的算法理解起来就更容易了。