先给出网站地址:
https://visualgo.net/en
这个网站的名字叫做VisuAlgo,是2011年由Steven Halim博士所开发,最初的目的是帮助学生更好地理解数据结构和算法。
相比较最开始的初级算法,目前其收录了许多高级的算法 比如说图的遍历这部分,除了常规的深度优先算法与广度优先算法,还设计了深度优先算法的变形以及找割点,连接桥,和有向图中寻找强连接部分的Tarjan's与 Kosaraju的深度优先算法。
目前网站支持中文,印尼文,日文等多语言版本。
那么到底包含多少算法呢?几乎所有的。
在搜索选项中你可以根据关键词查找到你想要的算法。
点进去一个具体的算法之后,会有两种方式的可视化呈现方式,一种是电子讲座模式,一种是示例模式。其中示例模式是以动画方式呈现,你可以控制动画的快进与倒退,电子讲座模式是以知识点讲解模式呈现,你可以手动控制页面的进度。两种方式都可以帮助你演示每个步骤的过程代码。
我们用归并排序试了试~
电子讲座模式示例
在归并排序这个知识点中,先给出了归并排序的操作步骤,然后讨论了重要的子程序,接着是归并子程序C++实现方法、分而治之的范式、归并排序的实现方法、示范、分析以及优缺点。
动画模式示例,看右下角为你讲述每一个步骤。
另外,你还可以创建一组自定义的数,然后让动画显示“你的算法”。
除此之外,还支持在线测试哟~