网址:https://algorithm-visualizer.org/

进去之后的页面是程序员熟悉的码农风格:

假设我想学习冒泡排序算法,在搜索栏里输入sort,在结果列表里选择bubble sort:

点击之后,排序操作处于就绪状态,点击play开始:

此时右边的JavaScript代码像我们平时单步调试一样逐行执行,同时每一步执行后排序的效果在屏幕正中实时显示:

比单步调试更强大之处是,我们能随时回退到前面的执行结果,通过下图高亮的84/144这个柱状开关控制。144意思是这个排序全过程总共要进行144次单步执行,当前已经执行了84步。自动播放的速度也可以在下图所示的Speed开关控制。

这是非波拉契数列的生成动画:

二叉树的遍历动画:

Dijkstra迪杰斯特拉算法最短路径算法:

有了这个网站,算法学习从此不再枯燥。这个网站的源代码是完全开源的,如果你有新的算法想给全世界的编程爱好者展示,可以按照Readme.md里定义的规范,提交您的动画。

https://github.com/algorithm-visualizer/algorithm-visualizer

截至2019年3月16日,已经有14000多个赞了,顺手去点一个吧。

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

推荐一个采用方便程序员在线动画学习常用算法的良心网站相关推荐

  1. 推荐一个Web前端程序员必须要吃透的书籍!

    随着互联网时代的发展,Web进入2.0时代,前端开发的岗位逐渐独立出来,大量的前端程序员工资和技术水平飙升.前端框架层出不穷,新技术不断更新,作为前端的程序员也是倍感吃力.但为了高薪,每一个前端开发者 ...

  2. 推荐一个很适合程序员的副业!

    推荐一个超级赞的副业就是有声书录制,从2013年到现在已经火了9年时间,可谓是源远流长.这个兴趣爱好衍生出来的副业已经承载了上百万小白从业人员,头部主播的年收入都破了百万,有声书录制的发展历程可以概括 ...

  3. 如何成为一个优秀的程序员?

    目录 1 靠谱的程序员 2 解决问题的能力 2.1 快速的定位 2.2 深入分析 2.3 取舍解决 3 团队协作能力 3.1 第一种模式:润滑剂模式 3.2 第二种模式:全责模式 3.3 第三种模式: ...

  4. 怎样做一个优秀的程序员?这10个问题ChatGPT这样说 ……

    本文目录 1 怎样做一个优秀的程序员? 2 怎样成为优秀的架构师? 3 怎样写容易阅读的代码? 4 怎样做项目管理? 5 怎样学习计算机程序设计? 6 怎样提升个人影响力? 7 怎样提升认知? 8 程 ...

  5. 世界读书日:作为一个优秀的程序员请收藏这份书单

    ​4月23日世界读书日全称"世界图书与版权日",又称"世界图书日".最初的创意来自于国际出版商协会.由西班牙转交方案给了联合国教科文组织. 1995年11月15 ...

  6. 毕业10年,一个上海女程序员的职业之路—02

    作者 | 杨小二 来源 | web前端开发(web_qdkf) 前言 2009年的7月,一张车票初入上海,从一个完全没有任何基础的前端小白,最后通过自学前端,终于成功找到了工作,中间的过程很坎坷,但结 ...

  7. Online PDF to PNG, PDF to JPEG, PDF to WEBP, PDF to TXT - toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  8. 在线SQL转换CSV、XML、JSON、HTML工具-toolfk程序员在线工具网

    本文要推荐的[ToolFk]是一款程序员经常使用的线上免费测试工具箱,ToolFk 特色是专注于程序员日常的开发工具,不用安装任何软件,只要把内容贴上按一个执行按钮,就能获取到想要的内容结果.Tool ...

  9. 做一个好的程序员难吗?只需要这10个习惯

    大家好!我是王不二,一个在上海打拼5年的Java开发者,2021年开始自由职业,专接外包,私活,如果你也有这方面的经历或问题,欢迎聊聊. 在这个世界上,有数以百万计的人对软件开发充满热情,他们有很多名 ...

最新文章

  1. To Noob Json是什么鬼?
  2. [leetcode] 62 Unique Paths (Medium)
  3. PAT乙级-1070. 结绳(25)
  4. 没有工作怎么申请贷款?
  5. java转换为字符串_java – 如何从int转换为字符串?
  6. make 命令_make考点总结(建议中、高考学生收藏)
  7. 【每日SQL打卡】​​​​​​​​​​​​​​​DAY 22丨页面推荐【难度中等】​
  8. hping 详解_hping3 详解
  9. 广联达提示盗版文件修复工具
  10. Linux基础命令与操作
  11. 求一个网页设计作业——个人博客(HTML+CSS)
  12. mysql中根据出生年月日计算年龄。
  13. python学习路线图(初级阶段,中级阶段,高级阶段)
  14. 【Redis技术探索】「底层架构原理」帮你从底层彻底吃透AOF技术原理(入门第二步)
  15. platform详解
  16. ARM嵌入式的定义和开发工具介绍
  17. 带你入门多目标跟踪(四)外观模型 Appearance Model
  18. 16位深度图用毒霸软件打开显示异常
  19. Matlab 求 LTI 系统的系统函数的幅频特性和相频特性
  20. oracle应付创建会计科目,月结AP创建会计分录失败问题

热门文章

  1. 说说Java中原子性,可见性与指令重排序的理解
  2. CTR 模型之 Deep Cross (DCN) 与 xDeepFM 解读
  3. 文献记录(part94)--Clustering and outlier detection using isoperimetric number of trees
  4. python观察日志(part11)--管道及MD5文件比较
  5. mac版python安装pandas_Mac OS 安装pandas
  6. lightroom最新版本下载_pi最新版本下载教程
  7. 如何找到某个 ABAP structure 某字段的源头来自哪个数据库表
  8. ABAP 标准培训教程 BC400 学习笔记之五:ABAP 编程语言的变量,常量和字面量,以及文本符号
  9. NgRx Store里的StoreModule.forRoot()
  10. 如何确认客户使用的Spartacus库文件是未经修改过的原始版本