请问各位前辈们,0 基础如何学习在 leetcode 中刷题,没有任何计算机的知识,每次看到上面的题,评论里都写着,树,二叉树,链表什么的完全不懂,到现在为止也只能刷刷 easy 中的各种排序算法。。。遇到难题一看评论里人家的答案就感觉原来如此~~ 但是让我自己写,就写不出来,或者要用 N 个多小时才能写出来。。。T_T
请问大家有没有什么入门数据结构与算法的学习方式,不反感培训、买课,只要是适合 0 基础的,因为想成为一名 go 程序员,所以只要基于 golang 的学习方式都可以的。
对了 还想问一下,如果目标是刷 medium 难度的题目,数据结构和算法要学到什么程度~~
感谢各位程序员前辈们的指点~~
1 situyaowan 2020-11-05 10:00:06 +08:00 同问~~ 占楼关注 |
![]() | 2 zzzrf 2020-11-05 10:02:09 +08:00 这个去搜一下有很多资料吧,个人觉得可以先自学一下计算机基础知识,数据结构和算法,如果实在学不会可以考虑培训和报班,对知识有个框架后,后面再自学容易很多 |
3 richzhu OP @zzzrf 是有好多资料,可是都不是那种很系统性的,都是碎片化的,像抖音一样,东一个文档,西一篇文章,导致新手学习起来会感到很焦虑和迷茫。。。 |
![]() | 4 araraloren 2020-11-05 10:08:02 +08:00 看书就好了,书那么多。。免费 PDF 随便下。。 |
5 qooweds 2020-11-05 10:08:55 +08:00 买一本算法书系统的看看 比如说 https://book.douban.com/subject/19952400/ |
![]() | 6 lemonnTr 2020-11-05 10:13:31 +08:00 没有任何计算机的知识。 为什么不想着先系统得学习一下基础,而是想着先刷题呢? |
![]() | 7 supercaizehua 2020-11-05 10:18:00 +08:00 建议关注 labuladong 的公众号 |
![]() | 8 asdf2020 2020-11-05 10:18:19 +08:00 [极客时间 数据结构与算法优惠购买]( 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) 可以先学基础知识和理论,不要一口吃成胖子看推导过程,极客时间的上面两个算法课还算良心 |
10 richzhu OP @supercaizehua 1 现在就去关注 |
![]() | 11 fiveelementgid 2020-11-05 10:20:04 +08:00 via Android @lemonnTr 为了工作吧 |
![]() | 12 jmc891205 2020-11-05 10:21:11 +08:00 算法第 4 版和配套 MOOC 入门 CLRS 和 TAOCP 进阶 |
![]() | 13 locoz 2020-11-05 10:23:57 +08:00 via Android 如果你完全 0 基础的话,可以直接先看一遍「软考-初级-程序员」的书,那个里面的基础类知识很全面,基本的数据结构、算法也有,还有个考试给你验证自己的能力… |
![]() | 14 binux 2020-11-05 10:26:14 +08:00 via Android 找科班的教材看一遍呗 |
![]() | 15 wysnylc 2020-11-05 10:39:36 +08:00 数据结构的顶级只有两个数组和链表,你先搞懂这俩是什么再说 |
![]() | 16 pengyOne 2020-11-05 10:52:20 +08:00 慕课网有这方面的教程。。。按着那个来问题应该不大 |
![]() | 17 dbsquirrel 2020-11-05 10:54:00 +08:00 via iPhone |
18 Cielsky 2020-11-05 11:08:54 +08:00 via Android 浙大的数据结构课看着还不错,可以去 mooc 上看看 |
19 khalit 2020-11-05 11:42:59 +08:00 关注 |
![]() | 20 rodrick 2020-11-05 12:51:53 +08:00 借楼问问你们 leetcode 是按照什么顺序刷的 |
![]() | 21 ericgui 2020-11-05 13:03:09 +08:00 |
23 renmu123 2020-11-05 13:17:22 +08:00 找本 c 语言教材过一遍,找本数据结构教材过一遍,如果是零基这个过程会比较痛苦 |
![]() | 24 hello2060 2020-11-05 13:18:10 +08:00 via iPhone 0 基础能搞定 leetcode 的题,哪怕是 easy 你也挺厉害了 |
![]() | 25 raaaaaar 2020-11-05 13:19:31 +08:00 via Android 先学一遍最基础的数据结构和算法,这个过程要花好几个月,学完后再大量刷题。 |
![]() | 29 rodrick 2020-11-05 15:00:50 +08:00 @ericgui 请问你一般刷一个类型的时候是刷个一部分比如十几道然后换下个类型刷这样么,我感觉一个类型内好多,刷完一个类型花费时间太久了 |
30 fank99 2020-11-05 15:05:57 +08:00 买本图解算法来看,搞清楚各个数据结构和算法的基本原理并且能手写代码 然后开始刷题,直接按 hot 100 剑指 offer 这样的 tag 来刷。 |
31 charlie21 2020-11-05 15:48:12 +08:00 数据结构和算法,讲师小甲鱼,教材程杰《大话数据结构》 https://fishc.com.cn/thread-1053-1-1.html |
![]() | 32 ThinkTwive 2020-11-05 15:56:27 +08:00 我最近刚开始也在刷题,基本也是零基础,我就是先看看书,明白了各种数据结构是个什么东西,然后就开始刷简单题,就是先只做一个类型的,比如链表,第一次做都不会,看了答案理解了,然后自己写一遍,做着做着,慢慢了解了链表的题目一般怎么搞(一般就是快慢指针,双指针),慢慢自己就可以不看答案做出简单题了,我觉得我坚持下去的话应该能慢慢自己做出 medium 的题~我也是小白,我暂时是这么想的做的,一起进步吧 |
![]() | 33 buildsth 2020-11-05 15:57:44 +08:00 起码需要知道数据结构,定义一类的,然后再刷题也不迟 |
![]() | 34 HarryQu 2020-11-05 16:28:46 +08:00 别走弯路了,我工作三年的时候,连数组和链表都分不清!数据结构和算法一窍不通,每次学到一半就放弃了,一度怀疑自己是个智障,后来发现自己的学习方法不对。 我是半路出家的程序员,数据结构和算法这类知识看书是不行的!至少对于非科班的大部分同学都是不行的,这些知识,一定要看视频以及动态图,这样能够直观的发现代码写法变化的原理。 不要一边刷题,一边学习,这样很浪费时间的。基础不牢,地动山摇! 先稳固基础,再去 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 |
35 chamuyaye 2020-11-05 16:33:22 +08:00 留言记录下 |
36 XDJI 2020-11-05 16:40:43 +08:00 直接背字母==! |
37 richzhu OP @HarryQu 感谢大佬,说到我心坎里了,半路出家程序员真心不容易,我去搜一下您说的课程,如果有资源也求大佬可以分享一下~~再次感谢 |
38 richzhu OP @ThinkTwive 谢谢分享,对我很有帮助,我现在刷题很盲目,只是单纯的找 easy,看来还是要刷熟练一个数据结构之后再换另一个刷 |
![]() | 39 b1ackjack 2020-11-05 16:45:42 +08:00 建议半路出家的同学,最好了解一些基本的数据结构算法,操作系统,计算机网络知识 |
![]() | 40 onfuns 2020-11-05 16:53:20 +08:00 没基础看算法没用,先把数据结构的书看一遍,至少知道一些结构和名词吧,然后再刷就会慢慢有头路了。 |
![]() | 41 RedBeanIce 2020-11-05 16:56:03 +08:00 如果你是学生,请将科班的课程来一遍。 如果你已经毕业 2-3 年,如果你是后端,请把数据结构与算法,学到二叉树,同时要了解 AVL 树的旋转。 如果你毕业好几年。。。。。。我也不知道 如果你是学前端,我也不知道。 |
![]() | 42 RedBeanIce 2020-11-05 16:56:50 +08:00 ![]() 看到你是 GO,那么直接看 如果你是学生,请将科班的课程来一遍。 如果你已经毕业 2-3 年,如果你是后端,请把数据结构与算法,学到二叉树,同时要了解 AVL 树的旋转。 |
![]() | 43 RedBeanIce 2020-11-05 17:01:23 +08:00 avltree 与 tree https://github.com/WarriorFromLongAgo/xuegao_leetcode/tree/master/leetcode/src/main/java/com/xuegao/tree 链表和线表( arrayList linkedList ) 可以直接看 Java 的源码 最后,请自己手动写一遍,手搓数据结构应该是必须的吧,可能需要好几个月才可以手搓完成 |
45 richzhu OP @RedBeanIce 感谢,记下来了 |
46 ShuoHui 2020-11-05 17:37:52 +08:00 via iPhone 0 基础还是补点知识吧…不然你刷题的意义在哪里 |
49 duzhanguan 2020-11-09 16:20:00 +08:00 转行路过,当时看的是邓俊辉的网课和书,并且把他的习题做了一遍,最后找工作的时候 LC 刷了 600 (现在应该有 800 了吧)。但并不推荐这样,因为邓俊辉的习题很多需要形式化证明,但既然他的看懂了,基本算法可以横行无阻。 |