算法(Algorithm)在百度百科里是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制 。算法对于每个程序员来说,都是非常重要的 。大厂面试,也是100%会问到算法面试题。
之前公众号也推荐过一些算法相关的文章,这里在罗列给大家复习下。
好了,算法是很重要的,大家也都知道,问题是如何更好的学习好算法才是关键 。一提到算法,我相信很多人都会立马想到去Leetcode网站上刷题, LeetCode收录了许多互联网公司的算法题目,被称为刷题神器 。
不过今天,是打算跟大家重新介绍一个GitHub上的开源项目:algorithm-visualizer 。该项目已经有超过2万的Star,而且有3100+的Fork,说明项目挺受欢迎的 。
开源链接:
https://github.com/algorithm-visualizer/algorithm-visualizer
这开源项目,最厉害的地方,是还有个在线动态演示算法的网站,可以很清楚的看到算法运行的整个过程,很直观,便于大家学习。
https://algorithm-visualizer.org/
如下图所示:
分为三部分,最左边是算法目录,大家可以选择自己要的算法,目前已经包括了很多算法了,比如二叉树、图、排序算法、动态规划等等经典算法 。中间区域分为两部分,上面是动态演示的动态图,下边是程序运行输出的日志。最右边是程序的代码和一些播放按钮 。
附上代码运行过程图
好了,今天就跟大家推荐这个学习算法的项目了,大家有兴趣的,不妨每天花点业余时间,来这个网站学习一下算法基本功!好的项目,值得你分享给身边的朋友哈,欢迎转发!