首页 >> 方法大全

labuladong 的算法网站

2022-05-14 方法大全 602 作者:考证青年

算法网站

1、由于算法网站频繁遭到恶意攻击,本站同时打开多个镜像站点:

(推荐)

(流量太大,有点卡)

这两个站点的内容是一样的,你可以自己做选择一个访问速度更快的站点开始学习。 PC端请收藏以上网址,移动端请关注公众号阅读最新文章:

2、这里配合我的问题刷题插件,网站学习的体验会更好。测试插件和配套PDF的下载方法见这里:测试刷机三件套。

目前本站可以带你一起解决200道算法题,而且还在不断更新中。开头添加了文章能解决的话题的链接,看完文章就可以马上跳转到对应的话题。我还将本网站上解释的所有主题组织成一个主题列表。建议安装刷机插件,访问:

荔口版:

版本:

3、我开发了很多贴心实用的功能来帮助大家学习算法。

比如一些比较复杂的代码块包含一个小灯泡图标,将鼠标移到小灯泡图标上会弹出一个图片帮助理解,比如递归魔术:把这段简短的代码倒转成一个单链表:

// 定义:输入一个单链表头结点,将该链表反转,返回新的头结点
ListNode reverse(ListNode head) {
    if (head == null || head.next == null) {
        return head;
    }
    ListNode last = reverse(head.next);/** */
    head.next.next = head;/** */
    head.next = null;/** */
    return last;
}

再举个例子,我在每篇文章的末尾添加了其他文章以及与文章相关的其他算法问题:

@中的PDF、插件和插件>

的三件套题与本站同步,均具备上述实用功能。

还有一个贴心的小功能。完成的文章会在侧边栏用✅标记,未完成的文章会用 标记,已经完成的章节会用 标记。如果有一天你把本站的文章全部看完了,那么侧边栏会是一栏小红旗,是不是很有成就感~

4、本站开放评论区,欢迎友好讨论。喜欢是一种态度。如果一些评论对你有帮助,请不要吝啬你的点赞。如需评论,请注意遵守本站评论礼仪,共同保持良好的学习氛围。

关于我

简单介绍一下自己。应该是2018年就开始写算法解决方案了。顺便开了个自己的公众号,这个昵称就诞生了,从那以后我就一直在做算法。该字段继续输出。 2020年,算法仓库-开源。没想到会火遍全网。现在这个仓库有 10 万颗星。

由于这个仓库的受欢迎程度,许多出版商都来寻求出版。出版纸质书《算法备忘单》,销量一直很稳定。为了感谢公众号读者一直以来的支持,我把公众号的大部分文章放到了网站上供大家学习。

众所周知,技术岗位的面试是严肃的,算法基本上是必考项目。我知道很多人并不是很喜欢算法,所以很为算法所困扰。

技巧

我也来过这里,但凭借自己的努力和一些技巧,毕业后的秋天拿到了13个offer。你可以说出任何大工厂的名字,我得到了所有的报价。

这不是凡尔赛。老实说,这真的没什么大不了的。身边老板多,比找工作还难。

我想说的是,其实不管是提问还是面试,都是有技巧的。我希望与您分享我的技能和经验。如果你需要刷算法题,觉得算法难,面试笔试难,我可以提供一些捷径,避免你走太多弯路。

此外,我遵循“少即是多”的原则,旨在增加“知识密度”而不是文章数量。

举个简单的例子,你可以看到很多与算法相关的博客/仓库,动不动就有四五百篇,每一篇其实都是一个问题的解法代码+留下几句评论那里。 ,你或许能理解,但很难从一个案例中推论出来,你还真能做那种题目。

并且我会严格限制文章数量的增长,重点提升单篇文章的质量,我称之为“知识密度”。在不断写问题和思考的过程中,如果觉得某篇历史文章的知识密度不够高,那我会毫不犹豫的把历史文章拿下来,重新构思,再发一篇比较枯燥的新文章。一般。

学习算法可能遇到的问题

1、问题太多,不知从何说起。

现在有2000多道题,是不是一定要全部做完才能完成算法?

我该怎么办?刷题号?按类别刷?听说动态规划相关的问题经常出现,为什么不直接开始刷动态规划问题呢?

我理解大家的渴望,但是在刷最热门的流派之前,有一些必要的先决条件。如果你不掌握它,你可能会感到困惑;但是如果你按照一定的规则掌握了游戏规则,就可以找到抓手,成功赋能,轻松打出一套算法组合拳(手动搞笑)。

2、没有指导,一题就是一题,难以下定论。

这是很多朋友都有的一个问题,尤其是刚开始写题,做完一道题后很难总结出一些通用技巧,遇到新题时使用,所以很多读者自嘲“你可以看就看,做就没有用。”

不要气馁,在刚刷题的过程中,积累的算法技能是有限的,很难从一个案例中得出结论是正常的。但是如果有人可以对想法提供一些指导,它将使您的学习算法更加高效。

3、有意无意灌输错误的思想,认为算法很高很高,而且要读算法介绍才算入门,所以心理上怕算法.

我有这个问题的个人经验。刚学算法的时候,会搜索各种资料、经验帖等,想快点上手。

现在回想起来,觉得很有意思。我的意思是,很多写经验帖的作者的心态很有趣。

比如很多“大佬”,你问他怎么上手算法,他叫你读《算法导论》,然后扔给你一堆英文课,强调一定要读英文哦,中文翻译不好。

就像,如果你是一个胖子,问一个人如何减肥,他们告诉你每次做100个俯卧撑和100个引体向上,每天3次,肯定会奏效,你知道吗?我是怎么练的!

哈哈,如果我真的能做到,还需要问你吗?但仔细想想,这个答案是基于什么样的心理?

其实他根本不在乎你的要求,他只是想告诉你:我做到了,我受了这个,我很棒,我很了不起,你可以羡慕你技巧,你做不来嘛~

不过话说回来,这样的人形形色色,我也不例外。时不时也想证明自己,想证明自己和别人不一样。有点曲折的倾向。

但后来我发现帮助别人解决问题更被他们认可,这也是我的公众号能够快速成长的原因。

所以你可以放心,我的这个教程是“适合所有年龄段的”。很接地气,最能解决学习算法的问题。

都说算法难,但难在哪里?

技巧

1、技能多,难做全本

各种算法技能确实比较复杂,初学者很容易遇到没见过的技能,遇到就会大喊大叫,觉得自己是菜。比如,普通人真的很难想出一个算法来判断一个单链表是否是一个环。

所以我一开始就说不要拘泥于算法问题,因为技能储备不够。

例如,如果有一个数组问题,你的脑海中会浮现出哪些算法技巧?最起码,你应该想到二分查找、快慢指针、左右指针、滑动窗口、前缀和数组、差数组。

这些技能就像工具库中的各种工具。您必须先选择一些东西才能使用它,对吗?那么对于初学者来说,工具库里什么都没有,怎么办呢?用锯子挖石头不是废话吗?

那么如何解决技能储备不足的问题呢?这是我要解决的问题。我收集了所有常用的算法技巧,为你整理了一份“算法备忘单”,可以帮助你在解决问题的过程中有个方向性的指导。

下次遇到数组相关的问题,把我总结的数组相关的技巧全部拿出来,一一尝试,形成一套固定的解题方法。然后你会遇到新的算法问题。 ,来人不怕吗?

2、递归的理解

递归思维是一种经典的计算机思维。不明白,这是对人自信心的打击,觉得自己是好菜。

不要气馁,递归真的很难理解,因为它是“计算机思维”,你是人,不是计算机,当然不好理解。

要精通递归,关键是要跳出细节,培养框架思维,尝试从整体上理解算法的过程。

根据我写题的经验,初学者最好从与“树”相关的问题入手。为此,我特地写了一个手绘二叉树(程序),帮助大家从二叉树的角度理解。各种复杂的算法。

另外,我的刷题插件还集成了手工刷二叉树题的功能,帮助你开发框架思维。

不要相信,你会发现递归代码是最简单最容易理解的。

你可以在这里学到什么

我的读者大致可以分为两类:一类对算法完全不感兴趣,属于面向笔试学习算法的读者;另一类是对算法感兴趣的读者,可以享受纯粹的智力乐趣。我个人属于后者,自然希望后者多一些,但毕竟每个人都有自己的志向技巧,对于两个读者来说,没有对错之分。而人总是在变化,也许他们会通过学习改变主意?这也是未知数。

但我的文章可以满足两者的需求:

首先我会结合自己写题的经验做选择,忽略不划算的算法技巧,抽象出常用算法的框架,帮助大家高效掌握算法,拿到面试笔试。此外,我还将清晰地描述我的问题解决过程,解释算法的底层原理,帮助你培养框架思维和借鉴他人推论的能力。很多读者已经在评论区表示,刷题就像玩游戏,上瘾了。所以,无论你是刚刚开始接触算法的新手,还是已经在算法上有所进步并希望进步的人,相信这些内容都会对你有所帮助。

另外,读者经常问我应该按照什么顺序来学习我的教程。

当然,最好的情况是按照我安排的顺序阅读所有文章。已经有几十位读者私下告诉我要靠我的公众号进行零基进入算法,最后进入谷歌。这些都是我读过的历史文章,有些部分已经看了好几遍了。当然,对于基础较好的读者,可以选择自己感兴趣的模块进行有针对性的学习。

我只强调两点:

1、算法就像漂亮的拼图,而数据结构就是组成这些拼图的模块,所以在学习算法之前你必须对常用的数据结构有一个基本的了解,否则你会很难阅读本网站的内容。在这里夸一下,推荐我的优秀数据结构课程,主要是视频课程,手把手指导你实现常用的数据结构和相关算法,旨在帮助算法基础薄弱的读者深入理解常用数据结构的底层原理使用的数据结构。学习少走弯路。

2、常用数据结构相关的算法,主要是数组和链表相关的,比如双指针算法、滑动窗口算法等,不需要任何先验知识,虽然技巧精妙,但是你不难理解。但是稍微高级的算法技能主要是递归相关的算法,比如回溯算法、动态规划,或者是高级数据结构相关的算法算法、字典树算法等等。这些递归算法需要二叉树算法作为伏笔。你应该先学习我的二叉树专文,再学习这些高级算法,你就可以掌握了。

最后可以在公众号后台回复“进群”加入算法群,大家一起刷题。从现在开始,养成刷题的好习惯:

@ >

tags: 算法

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了