算法(Algorithm)在百度百科里是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制 。算法对于每个程序员来说,都是非常重要的 。大厂面试,也是100%会问到算法面试题。
之前公众号也推荐过一些算法相关的文章,这里在罗列给大家复习下。
十大经典排序算法(Java版本)
入门篇|学渣是如何自学数据结构的?
HashMap底层的数据结构和算法
七种最常见的排序算法(动图版)
什么是红黑树?今天详细学习一下。
五分钟彻底理解一致性哈希算法
数据结构与算法之递归,这篇够详细的!
好了,算法是很重要的,大家也都知道,问题是如何更好的学习好算法才是关键 。一提到算法,我相信很多人都会立马想到去Leetcode网站上刷题, LeetCode收录了许多互联网公司的算法题目,被称为刷题神器 。
https://leetcode.com/

不过今天,是打算跟大家重新介绍一个GitHub上的开源项目:algorithm-visualizer 。该项目已经有超过2万的Star,而且有3100+的Fork,说明项目挺受欢迎的 。
开源链接:
https://github.com/algorithm-visualizer/algorithm-visualizer

这开源项目,最厉害的地方,是还有个在线动态演示算法的网站,可以很清楚的看到算法运行的整个过程,很直观,便于大家学习。
https://algorithm-visualizer.org/
如下图所示:

简单介绍一下这个在线网站的用法,大家可以很清楚的看到,网站分为三部分,最左边是算法目录,大家可以选择自己要的算法,目前已经包括了很多算法了,比如二叉树、图、排序算法、动态规划等等经典算法 。中间区域分为两部分,上面是动态演示的动态图,下边是程序运行输出的日志。最右边是程序的代码和一些播放按钮 。

附上代码运行过程图
好了,今天就跟大家推荐这个学习算法的项目了,大家有兴趣的,不妨每天花点业余时间,来这个网站学习一下算法基本功!好的项目,值得你分享给身边的朋友哈,欢迎转发!
~完~
打卡赠书:坚持30天打卡赠书新玩法!
送什么书?请点击左下角阅读原文查看!
签到方式:长按以下二维码参与打卡↓↓↓↓↓

我的知识星球,限时免费加入!
收藏这份IntelliJ IDEA使用技巧大全
教你巧记OSI七层网络模型(个人总结)
MyBatis源码解读 9 种设计模式~
迁徙在互联网风口之间的年轻人
【基础】速成 Python3 学习教程