前言
无疑,数据结构与算法学习最大的难点之一就是如何在脑中形象化其抽象的逻辑步骤。而图像在很多时候能够大大帮助我们理解其对应的抽象化的东西,而如果这个图像还是我们自己一点点画出来的,那么无疑这个印象是最深刻的了。没错,今天给大家分享的就是算法可视化的网站。
Data Structure Visualizations
网站地址为:https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
目前已经有很多常用的数据结构与算法的可视化,例如常见的栈,队列,递归,二叉树等等。
我们点一个二叉查找树进去看看:
开始时,是一片空白,左上角有几个按钮,为insert,delete,find,print,分别用于二叉查找树的插入,删除,查找和遍历。而这些过程的每一步都在你的掌控之中,你可以看到每一个节点是如何插入或者删除的。
还有很多其他算法的可视化,非常简洁直观,值得一试。
该网站特点:
- 算法可视化
- 界面简洁直观
- 过程可控制
VisuAlgo
网址地址为:https://visualgo.net/zh/。这个网站涉及的算法就更加全面了。从首页就可以看出来不一样了,不仅支持多种算法可视化,还支持搜索。
而它除了提供和前面一个网址类似的算法动画以外,还提供大量的文字讲解:
而在执行动画的时候,旁边仍然会有文字描述当前步骤,并且左下角还有算法复杂度的注释说明。
该网站特点:
- 算法可视化
- 文字讲解
- 复杂度备注
- 图形可操控调整
algorithm-visualizer
网址地址:https://algorithm-visualizer.org/
它支持的算法种类也很多,除此之外,它还提供java,c++,js代码。而控制台也输出着整个过程来帮助你理解算法。
来看一个冒泡排序:
该网站特点:
- 算法可视化
- 有代码
- 有控制台输出帮助理解
- 算法种类丰富
总结
以上几个网站各有特点,可自己体验后,选择自己喜欢的。
讨论
你是如何学习算法的?欢迎分享你的算法学习经验。