找回密码
 立即注册
  • QQ空间
  • 回复
  • 收藏

算法即动画!在线交互式可视化平台,GitHub超2万星

admin 2019-7-3 20:33 172人围观 C++相关






  新智元原创 


来源:GitHub

编辑:鹏飞
【新智元导读】从文本和静态图像学习算法又无聊又难懂。当我们以编程方式展示算法的时候,由于算法本身和抽象代码的复杂概念,很难想象出要执行的算法的程序。而交互式的在线平台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编写的后端


当后端编译并运行代码时,可视化库会发出更改日志。然后,后端将更改日志传递到前端,前端逐步解释并呈现它,最终我们看到了一个完整的算法实现过程

鲜花

握手

雷人

路过

鸡蛋

yafeilinux和他的朋友们微信公众号二维码

微信公众号

专注于Qt嵌入式Linux开发等。扫一扫立即关注。

Qt开源社区官方QQ群二维码

QQ交流群

欢迎加入QQ群大家庭,一起讨论学习!

我有话说......