演算法一看就懂 线上互动式视觉化平台 GitHub超2万星

【新智元导读】从文字和静态影象学习算法又无聊又难懂。当我们以程式设计方式展示算法的时候,由于算法本身和抽象程式码的复杂概念,很难想象出要执行的算法的程式。而互动式的线上平台Algorithm Visualizer)可以从程式码中视觉化算法,从而能够让我们能够以一种更加直观、更加有趣的形式去理解算法。
一图胜千言。亚里士多德认为,人类在各种感觉中最偏重视觉。
视觉资讯占全部感觉资讯的80%以上。科学家发现,人类和灵长类动物的大脑皮层内有至少32个区域(即占大脑皮层一半以上的区域)参与视觉资讯处理。
视觉化利用视觉系统来增强人类的智力,让我们更好地理解抽象概念或者过程,比如机器学习中的各种算法。

我们知道,从文字和静态影象来学习算法既枯燥又难懂。当我们以程式设计方式展示算法的时候,由于算法本身和抽象程式码的复杂概念,很难想象出要执行的算法的程式。
这种抽象算法的程式学习不仅涉及程式码,还涉及实际执行程式时的日志,因此很多人想方设法为算法生成动画,从而让我们能够以一种更加直观、更加有趣的形式去理解算法。
要实现算法视觉化,很难实现像做Excel饼图那样,填入资料然后生成柱状的或者饼状的图形的操作,其中还存在描述行为的逻辑规则。
今天新智元为大家介绍一个名为“算法视觉化器(Algorithm Visualizer)”的互动式的线上平台,可以从程式码中视觉化算法,解决了上述问题。该工具在GitHub上超过2.1万星!

Algorithm Visualizer提供了各种语言的视觉化工具,包括JavaScript,Java和C ++。其UI由4个部分组成:工具栏、侧边栏、检视器和编辑器。
工具栏包含使用者的配置档案和用于控制视觉化的按钮。使用者还可以将算法储存到GitHub Gist或在Facebook上分享。
左侧边栏显示了一组公共算法,除了使用者的临时档案之外,其他人也提供了这些算法。检视器是实际视觉化发生的地方。它还检视算法的描述。最后,编辑器允许使用者记下他们自己的算法以进行视觉化。





















该专案由3个名为算法、跟踪器和算法视觉化器的储存库组成。
“algorithms”储存库包含侧栏上显示的公共算法“tracers”储存库包含用每种支援的语言编写的视觉化库“algorithm-visualizer”储存库包含用React.js编写的前端和用Node.js编写的后端当后端编译并执行程式码时,视觉化库会发出更改日志。然后,后端将更改日志传递到前端,前端逐步解释并呈现它,最终我们看到了一个完整的算法实现过程

平台地址:
https://algorithm-visualizer.org
GitHub地址:
https://github.com/algorithm-visualizer/algorithm-visualizer