Github 算法项目
算法和数据结构是计算机学习的基石,无论学习计算机的任何方向,没有扎实的算法和数据结构,肯定学习起来就捉襟见肘了。
LeetCode 是一个包含许多算法问题的网站。 其中大部分是谷歌、Facebook、LinkedIn、Apple、国内互联网大厂等的真实面试问题。刷编程题的最大好处就是可以锻炼解决问题的思维能力,有助于提高算法技能。


1、大厂高频算法题

汇总各大互联网公司容易考察的高频 Leetcode 题。本仓库用于汇总互联网公司技术岗考察Leetcode题目的热度,更加有针对性地准备面试。
地址:https://github.com/afatcoder/LeetcodeTop
本仓库有以下优点:

  1. 免费开放:汇总的高频题目免费分享给大家
  2. 分类精细:按公司、部门、岗位进行分类,方便大家更针对性地准面试
  3. 题源可靠:全网收录题目考察情况2,渠道不限于牛客、CSDN博客、热心网友分享等
  4. 本土特色:汇总办公地位于中国大陆的互联网企业

GitHub 上 7 个算法项目 - 图1


2、算法可视化

不过今天,是打算跟大家重新介绍一个GitHub上的开源项目:algorithm-visualizer ,通过可视化的方式学习算法,让算法变得容易得多。该项目已经有超过 3.5 万的Star,而且有 5700+ 的 Fork,说明项目挺受欢迎的 。
地址:https://github.com/algorithm-visualizer/algorithm-visualizer
GitHub 上 7 个算法项目 - 图2
这开源项目,还有个在线动态演示算法的网站,可以很清楚的看到算法运行的整个过程,很直观,便于大家学习。
在线地址:https://algorithm-visualizer.org/
如下图所示:
GitHub 上 7 个算法项目 - 图3
简单介绍一下这个在线网站的用法,大家可以很清楚的看到,网站分为三部分,最左边是算法目录,大家可以选择自己要的算法,目前已经包括了很多算法了,比如二叉树、图、排序算法、动态规划等等经典算法 。中间区域分为两部分,上面是动态演示的动态图,下边是程序运行输出的日志。最右边是程序的代码和一些播放按钮 。
GitHub 上 7 个算法项目 - 图4
除了这个,还有一个用动画演示的开源项目,作者计划用 3 到 4 年时间将 LeetCode 上所有的题目都用动画的形式演示出来。
地址:https://github.com/MisterBooo/LeetCodeAnimation
GitHub 上 7 个算法项目 - 图5


3、Hello Algorithm

这个项目共完成 140+ 道高频面试算法题目,总计 40w 字,全部采用漫画图解的方式,简单易懂。
地址:https://github.com/geekxh/hello-algorithm
GitHub 上 7 个算法项目 - 图6
下面是算法图解内容的一部分,图文并茂,有代码、有讲解。
GitHub 上 7 个算法项目 - 图7


4、Fucking Algorithm

这个项目 56.4k 的Star,内容质量可想而知,这个项目总共 60 多篇原创文章,都是基于 LeetCode 的题目,涵盖了所有题型和技巧,而且做到举一反三,通俗易懂。可以移步作者的个人网站刷文章,https://labuladong.gitbook.io/algo/
地址:https://github.com/labuladong/fucking-algorithm
下面是项目内容的一个截屏,可以看到项目中的文章都是作者的思考和总结,绝不是简单的代码堆砌:
GitHub 上 7 个算法项目 - 图8
GitHub 上 7 个算法项目 - 图9
下面是这个项目的目录:
GitHub 上 7 个算法项目 - 图10
GitHub 上 7 个算法项目 - 图11
GitHub 上 7 个算法项目 - 图12
GitHub 上 7 个算法项目 - 图13


5、各编程语言 LeetCode 实现

本项目包含 LeetCode、《剑指 Offer(第 2 版)》、《剑指 Offer(专项突击版)》、《程序员面试金典(第 6 版)》等题目的相关题解。所有题解均由多种编程语言实现,包括但不限于:Java、Python、C++、JavaScript、C#、Go,日常更新。
地址:https://github.com/doocs/leetcode
GitHub 上 7 个算法项目 - 图14


6、Go语言刷题

这个 repo 展示了作者使用 Go 语言刷算法题的比较,代码风格严格遵循 Google Golang 风格指南。
地址:https://github.com/halfrost/LeetCode-Go
GitHub 上 7 个算法项目 - 图15
同样,可以通过 iOS / Android 浏览器安装 PWA 版《LeetCode Cookbook》至设备桌面随时学习。
GitHub 上 7 个算法项目 - 图16


7、JavaScript 算法和数据结构

这个 100K Star 的仓库是基于 JavaScript 的算法和数据结构教程。每种算法和数据结构都有自己的 README,包含相关说明和链接,以便进一步观看 YouTube 视频)。
地址:https://github.com/trekhleb/javascript-algorithms
GitHub 上 7 个算法项目 - 图17