目录
01. 大厂高频算法题
02. 算法可视化
03. Hello Algorithm
04. Fucking Algorithm
05. 各编程语言 LeetCode 实现
06. Go语言刷题
07. JavaScript 算法和数据结构
算法和数据结构是计算机学习的基石,无论你学习计算机的任何方向,没有扎实的算法和数据结构,肯定学习起来就捉襟见肘了。
LeetCode 是一个包含许多算法问题的网站。 其中大部分是谷歌、Facebook、LinkedIn、Apple、国内互联网大厂等的真实面试问题。刷编程题的最大好处就是可以锻炼解决问题的思维能力,有助于提高我们的算法技能。
今天盘点 GitHub 上 Star 最多的算法项目,涉及 Java、Python、GO、JS 等语言实现,如果刷 LeetCode 很吃力,可以看看下面这些开源项目。
汇总各大互联网公司容易考察的高频 Leetcode 题。本仓库用于汇总互联网公司技术岗考察Leetcode题目的热度,帮助同学们更加有针对性地准备面试。
地址:https://github.com/afatcoder/LeetcodeTop
本仓库有以下优点:
1. 免费开放:汇总的高频题目免费分享给大家
2. 分类精细:按公司、部门、岗位进行分类,方便大家更针对性地准面试
3. 题源可靠:全网收录题目考察情况2,渠道不限于牛客、CSDN博客、热心网友分享等
4. 本土特色:汇总办公地位于中国大陆的互联网企业
不过今天,是打算跟大家重新介绍一个GitHub上的开源项目:algorithm-visualizer ,通过可视化的方式学习算法,让算法变得容易得多。该项目已经有超过 3.5 万的Star,而且有 5700+ 的 Fork,说明项目挺受欢迎的 。
地址:https://github.com/algorithm-visualizer/algorithm-visualizer
这开源项目,还有个在线动态演示算法的网站,可以很清楚的看到算法运行的整个过程,很直观,便于大家学习。
在线地址:https://algorithm-visualizer.org/
如下图所示:
简单介绍一下这个在线网站的用法,大家可以很清楚的看到,网站分为三部分,最左边是算法目录,大家可以选择自己要的算法,目前已经包括了很多算法了,比如二叉树、图、排序算法、动态规划等等经典算法 。中间区域分为两部分,上面是动态演示的动态图,下边是程序运行输出的日志。最右边是程序的代码和一些播放按钮 。
除了这个,还有一个用动画演示的开源项目,作者计划用 3 到 4 年时间将 LeetCode 上所有的题目都用动画的形式演示出来。
地址:https://github.com/MisterBooo/LeetCodeAnimation
这个项目的作者是小浩,最近在技术圈非常活跃,阿逛也经常刷到他的文章。这个项目是作者在疫情期间完成的一部图解算法题典!这个项目共完成 140+ 道高频面试算法题目,总计 40w 字,全部采用漫画图解的方式,简单易懂。
地址:https://github.com/geekxh/hello-algorithm
下面是算法图解内容的一部分,图文并茂,有代码、有讲解。想要获取这个 241 页 PDF在本公众号 逛逛GitHub 后台回复 819 就行了。
这个项目 56.4k 的Star,内容质量可想而知,这个项目总共 60 多篇原创文章,都是基于 LeetCode 的题目,涵盖了所有题型和技巧,而且做到举一反三,通俗易懂。可以移步作者的个人网站刷文章,https://labuladong.gitbook.io/algo/
地址:https://github.com/labuladong/fucking-algorithm
下面是项目内容的一个截屏,可以看到项目中的文章都是作者的思考和总结,绝不是简单的代码堆砌:
下面是这个项目的目录:
本项目包含 LeetCode、《剑指 Offer(第 2 版)》、《剑指 Offer(专项突击版)》、《程序员面试金典(第 6 版)》等题目的相关题解。所有题解均由多种编程语言实现,包括但不限于:Java、Python、C++、JavaScript、C#、Go,日常更新。
地址:https://github.com/doocs/leetcode
这个 repo 展示了作者使用 Go 语言刷算法题的比较,代码风格严格遵循 Google Golang 风格指南。
地址:https://github.com/halfrost/LeetCode-Go
同样,你可以通过 iOS / Android 浏览器安装 PWA 版《LeetCode Cookbook》至设备桌面随时学习。
这个 100K Star 的仓库是基于 JavaScript 的算法和数据结构教程。每种算法和数据结构都有自己的 README,包含相关说明和链接,以便进一步观看 YouTube 视频)。
地址:https://github.com/trekhleb/javascript-algorithms