• 请不要在回答技术问题时复制粘贴 AI 生成的内容
richzhu
V2EX  ›  程序员

请问 0 基础如何学习刷题

  •  3
     
  •   richzhu · Nov 5, 2020 · 6519 views
    This topic created in 2198 days ago, the information mentioned may be changed or developed.

    请问各位前辈们,0 基础如何学习在 leetcode 中刷题,没有任何计算机的知识,每次看到上面的题,评论里都写着,树,二叉树,链表什么的完全不懂,到现在为止也只能刷刷 easy 中的各种排序算法。。。遇到难题一看评论里人家的答案就感觉原来如此~~ 但是让我自己写,就写不出来,或者要用 N 个多小时才能写出来。。。T_T

    请问大家有没有什么入门数据结构与算法的学习方式,不反感培训、买课,只要是适合 0 基础的,因为想成为一名 go 程序员,所以只要基于 golang 的学习方式都可以的。

    对了 还想问一下,如果目标是刷 medium 难度的题目,数据结构和算法要学到什么程度~~

    感谢各位程序员前辈们的指点~~

    49 replies  •  2020-11-09 16:20:00 +08:00
    situyaowan
    situyaowan
    Nov 5, 2020
    1
    同问~~ 占楼关注
    zzzrf
    zzzrf
    Nov 5, 2020
    2
    这个去搜一下有很多资料吧,个人觉得可以先自学一下计算机基础知识,数据结构和算法,如果实在学不会可以考虑培训和报班,对知识有个框架后,后面再自学容易很多
    richzhu
    richzhu
    OP
    Nov 5, 2020
    3
    @zzzrf 是有好多资料,可是都不是那种很系统性的,都是碎片化的,像抖音一样,东一个文档,西一篇文章,导致新手学习起来会感到很焦虑和迷茫。。。
    araraloren
    araraloren
    Nov 5, 2020
    4
    看书就好了,书那么多。。免费 PDF 随便下。。
    qooweds
    qooweds
    Nov 5, 2020
    5
    买一本算法书系统的看看
    比如说 https://book.douban.com/subject/19952400/
    lemonnTr
    lemonnTr
    Nov 5, 2020
    6
    没有任何计算机的知识。
    为什么不想着先系统得学习一下基础,而是想着先刷题呢?
    supercaizehua
    supercaizehua
    Nov 5, 2020
    7
    建议关注 labuladong 的公众号
    asdf2020
    asdf2020
    Nov 5, 2020
    8
    [极客时间 数据结构与算法优惠购买]( https://time.geekbang.org/column/intro/126?tab=catalog&code=PwGMePbO-oBZQECwPc6vx0f5J6mjEiBj7gkZF9ig-ko%3D&utm_term=SPoster)

    [极客时间 算法面试通关 40 讲]( https://time.geekbang.org/course/intro/130?code=eh3BHyG3lG7AVgwxWXsSgvRJZROaofNh-bg7Fu7lHU4%3D&utm_term=SPoster)

    可以先学基础知识和理论,不要一口吃成胖子看推导过程,极客时间的上面两个算法课还算良心
    richzhu
    richzhu
    OP
    Nov 5, 2020
    9
    @lemonnTr 现在就是在向您咨询如何学习基础呀
    richzhu
    richzhu
    OP
    Nov 5, 2020
    10
    @supercaizehua 1 现在就去关注
    fiveelementgid
    fiveelementgid
    Nov 5, 2020 via Android
    11
    @lemonnTr 为了工作吧
    jmc891205
    jmc891205
    Nov 5, 2020
    12
    算法第 4 版和配套 MOOC 入门
    CLRS 和 TAOCP 进阶
    locoz
    locoz
    Nov 5, 2020 via Android
    13
    如果你完全 0 基础的话,可以直接先看一遍「软考-初级-程序员」的书,那个里面的基础类知识很全面,基本的数据结构、算法也有,还有个考试给你验证自己的能力…
    binux
    binux
    Nov 5, 2020 via Android
    14
    找科班的教材看一遍呗
    wysnylc
    wysnylc
    Nov 5, 2020
    15
    数据结构的顶级只有两个数组和链表,你先搞懂这俩是什么再说
    pengyOne
    pengyOne
    Nov 5, 2020
    16
    慕课网有这方面的教程。。。按着那个来问题应该不大
    Cielsky
    Cielsky
    Nov 5, 2020 via Android
    18
    浙大的数据结构课看着还不错,可以去 mooc 上看看
    khalit
    khalit
    Nov 5, 2020
    19
    关注
    rodrick
    rodrick
    Nov 5, 2020
    20
    借楼问问你们 leetcode 是按照什么顺序刷的
    ericgui
    ericgui
    Nov 5, 2020
    21
    https://space.bilibili.com/9099840

    有人评论我讲的 leetcode 解题视频很适合入门

    我觉得说的对,😝

    来推销一下
    ericgui
    ericgui
    Nov 5, 2020
    22
    @rodrick 按类型刷,比如数组,字符串,回溯,二叉树
    renmu123
    renmu123
    Nov 5, 2020
    23
    找本 c 语言教材过一遍,找本数据结构教材过一遍,如果是零基这个过程会比较痛苦
    hello2060
    hello2060
    Nov 5, 2020 via iPhone
    24
    0 基础能搞定 leetcode 的题,哪怕是 easy 你也挺厉害了
    raaaaaar
    raaaaaar
    Nov 5, 2020 via Android
    25
    先学一遍最基础的数据结构和算法,这个过程要花好几个月,学完后再大量刷题。
    richzhu
    richzhu
    OP
    Nov 5, 2020
    26
    @ericgui 谢谢大佬,您讲的好透彻啊,虽然是 JAVA 版~~~ 不过听完之后,可以用 go 写出来
    ericgui
    ericgui
    Nov 5, 2020
    27
    @richzhu 谢谢哈,喜欢就好,把我推荐给别人哈
    ericgui
    ericgui
    Nov 5, 2020
    28
    @raaaaaar 不用,直接刷题,写不出来就直接看代码,从简单题做起
    rodrick
    rodrick
    Nov 5, 2020
    29
    @ericgui 请问你一般刷一个类型的时候是刷个一部分比如十几道然后换下个类型刷这样么,我感觉一个类型内好多,刷完一个类型花费时间太久了
    fank99
    fank99
    Nov 5, 2020
    30
    买本图解算法来看,搞清楚各个数据结构和算法的基本原理并且能手写代码
    然后开始刷题,直接按 hot 100 剑指 offer 这样的 tag 来刷。
    charlie21
    charlie21
    Nov 5, 2020
    31
    数据结构和算法,讲师小甲鱼,教材程杰《大话数据结构》
    https://fishc.com.cn/thread-1053-1-1.html
    ThinkTwive
    ThinkTwive
    Nov 5, 2020
    32
    我最近刚开始也在刷题,基本也是零基础,我就是先看看书,明白了各种数据结构是个什么东西,然后就开始刷简单题,就是先只做一个类型的,比如链表,第一次做都不会,看了答案理解了,然后自己写一遍,做着做着,慢慢了解了链表的题目一般怎么搞(一般就是快慢指针,双指针),慢慢自己就可以不看答案做出简单题了,我觉得我坚持下去的话应该能慢慢自己做出 medium 的题~我也是小白,我暂时是这么想的做的,一起进步吧
    buildsth
    buildsth
    Nov 5, 2020
    33
    起码需要知道数据结构,定义一类的,然后再刷题也不迟
    HarryQu
    HarryQu
    Nov 5, 2020
    34
    别走弯路了,我工作三年的时候,连数组和链表都分不清!数据结构和算法一窍不通,每次学到一半就放弃了,一度怀疑自己是个智障,后来发现自己的学习方法不对。

    我是半路出家的程序员,数据结构和算法这类知识看书是不行的!至少对于非科班的大部分同学都是不行的,这些知识,一定要看视频以及动态图,这样能够直观的发现代码写法变化的原理。

    不要一边刷题,一边学习,这样很浪费时间的。基础不牢,地动山摇!

    先稳固基础,再去 leetcode 刷题,这样会事半功倍。

    视频我推荐你看慕课网的 liuyubobobo

    https://www.imooc.com/t/108955#Course 你是自己买,还是直接搜索免费的都可以,他以前有 Java 课程,应该是被他下架了,现在是整合的 Java 体系版本,不过旧课程仍旧可以搜得到。

    书籍的话看算法第四版吧,我这里有个 pdf 带书签版本的,还有书本源码 :

    下载链接 : https://pan.baidu.com/s/1ZnyQW2j9uLcfXc25KFrxSA 密码:rb5s

    Github 源码地址如下: https://github.com/kevin-wayne/algs4
    chamuyaye
    chamuyaye
    Nov 5, 2020
    35
    留言记录下
    XDJI
    XDJI
    Nov 5, 2020
    36
    直接背字母==!
    richzhu
    richzhu
    OP
    Nov 5, 2020
    37
    @HarryQu 感谢大佬,说到我心坎里了,半路出家程序员真心不容易,我去搜一下您说的课程,如果有资源也求大佬可以分享一下~~再次感谢
    richzhu
    richzhu
    OP
    Nov 5, 2020
    38
    @ThinkTwive 谢谢分享,对我很有帮助,我现在刷题很盲目,只是单纯的找 easy,看来还是要刷熟练一个数据结构之后再换另一个刷
    b1ackjack
    b1ackjack
    Nov 5, 2020
    39
    建议半路出家的同学,最好了解一些基本的数据结构算法,操作系统,计算机网络知识
    onfuns
    onfuns
    Nov 5, 2020
    40
    没基础看算法没用,先把数据结构的书看一遍,至少知道一些结构和名词吧,然后再刷就会慢慢有头路了。
    RedBeanIce
    RedBeanIce
    Nov 5, 2020
    41
    如果你是学生,请将科班的课程来一遍。
    如果你已经毕业 2-3 年,如果你是后端,请把数据结构与算法,学到二叉树,同时要了解 AVL 树的旋转。
    如果你毕业好几年。。。。。。我也不知道
    如果你是学前端,我也不知道。
    RedBeanIce
    RedBeanIce
    Nov 5, 2020❤️1
    42
    看到你是 GO,那么直接看

    如果你是学生,请将科班的课程来一遍。
    如果你已经毕业 2-3 年,如果你是后端,请把数据结构与算法,学到二叉树,同时要了解 AVL 树的旋转。
    RedBeanIce
    RedBeanIce
    Nov 5, 2020
    43
    avl tree 与 tree

    https://github.com/WarriorFromLongAgo/xuegao_leetcode/tree/master/leetcode/src/main/java/com/xuegao/tree

    链表和线表( arrayList linkedList )
    可以直接看 Java 的源码

    最后,请自己手动写一遍,手搓数据结构应该是必须的吧,可能需要好几个月才可以手搓完成
    richzhu
    richzhu
    OP
    Nov 5, 2020
    44
    @onfuns @b1ackjack 谢谢,问的就是如何学习数据结构与算法呢
    richzhu
    richzhu
    OP
    Nov 5, 2020
    45
    @RedBeanIce 感谢,记下来了
    fcmio
    fcmio
    Nov 5, 2020 via iPhone
    46
    0 基础还是补点知识吧…不然你刷题的意义在哪里
    richzhu
    richzhu
    OP
    Nov 5, 2020
    47
    @ShuoHui 就是在发帖问如何补知识呢
    ericgui
    ericgui
    Nov 6, 2020
    48
    @rodrick 把这个类型里的所有简单题,以及大部分中等题都搞明白就行了

    某些中等题其实挺难

    困难题就算了,量力而行即可。
    duzhanguan
    duzhanguan
    Nov 9, 2020
    49
    转行路过,当时看的是邓俊辉的网课和书,并且把他的习题做了一遍,最后找工作的时候 LC 刷了 600 (现在应该有 800 了吧)。但并不推荐这样,因为邓俊辉的习题很多需要形式化证明,但既然他的看懂了,基本算法可以横行无阻。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1028 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 110ms · UTC 22:55 · PVG 06:55 · LAX 14:55 · JFK 17:55
    ♥ Do have faith in what you're doing.