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

简介: 网址:https://algorithm-visualizer.org/ 进去之后的页面是程序员熟悉的码农风格: 假设我想学习冒泡排序算法,在搜索栏里输入sort,在结果列表里选择bubble sort: 点击之后,排序操作处于就绪状态,点击play开始: 此时右边的JavaScript代码像我们平时单步调试一样逐行执行,同时每一步执行后排序的效果在屏幕正中实时显示: 比单步调试更强大之处是,我们能随时回退到前面的执行结果,通过下图高亮的84/144这个柱状开关控制。

网址: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多个赞了,顺手去点一个吧。

本文来自云栖社区合作伙伴“汪子熙”

相关文章
|
13天前
|
NoSQL 算法 Java
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
【redis源码学习】持久化机制,java程序员面试算法宝典pdf
|
14天前
|
机器学习/深度学习 算法 网络架构
什么是神经网络学习中的反向传播算法?
什么是神经网络学习中的反向传播算法?
17 2
|
14天前
|
机器学习/深度学习 算法
算法人生(5):从“元学习”看“战胜拖延”(没兴趣版)
元学习是让机器学会学习策略,适应新任务的机器学习范式。通过定义任务分布、采样任务、内在和外在学习循环来优化模型,增强其跨任务适应性和泛化能力。面对不感兴趣的任务导致的拖延,我们可以借鉴元学习的思路:重新评估任务价值,寻找通用兴趣点;设定奖励激发行动;改变环境以提高执行力。通过调整视角、自我激励和优化环境,可以克服因无兴趣而产生的拖延。
|
14天前
|
机器学习/深度学习 存储 算法
算法人生(4):从“选项学习”看“战胜拖延”(担心失败版)
选项学习是强化学习的一种策略,通过定义、学习和切换选项来解决复杂任务,将大任务分解为可重复使用的子任务,以提高学习效率和适应性。面对因担心失败而拖延的问题,我们可以借鉴选项学习的思想:将大任务拆分为小目标,正视失败作为成长的一部分,回顾成功经验并寻求支持。通过这种方式,逐步增强自信,降低拖延现象。
|
14天前
|
算法 网络协议
【计网·湖科大·思科】实验三 总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法
【计网·湖科大·思科】实验三 总线型以太网的特性、集线器和交换机的区别、交换机的自学习算法
18 1
|
14天前
|
机器学习/深度学习 算法
应用规则学习算法识别有毒的蘑菇
应用规则学习算法识别有毒的蘑菇
|
14天前
|
机器学习/深度学习 算法 数据挖掘
每个程序员都应该知道的 40 个算法(四)(4)
每个程序员都应该知道的 40 个算法(四)
16 1
|
14天前
|
机器学习/深度学习 人工智能 算法
每个程序员都应该知道的 40 个算法(四)(3)
每个程序员都应该知道的 40 个算法(四)
18 2
|
14天前
|
分布式计算 并行计算 算法
每个程序员都应该知道的 40 个算法(四)(2)
每个程序员都应该知道的 40 个算法(四)
18 1
|
14天前
|
分布式计算 并行计算 算法
每个程序员都应该知道的 40 个算法(四)(1)
每个程序员都应该知道的 40 个算法(四)
22 2