关于算法学习和刷题的建议

大家好,我是方圆。最近花时间学了学算法,应该算是我接触Java以来第一次真正的学习它,这篇帖子我会说一些我对算法学习的理解,当然这仅仅是浅浅的入算法的门,如果想深挖或者是有基础的人想提升自己,我觉得这篇文章不合适;如果你是算法小白或者是大一、大二有充裕时间的同学,它可能真的稍微有一点点帮助。

1. 交代背景

非科班转码近两年才开始学习算法,之前一切的算法知识全部来自《算法图解》(一本基础性的漫画算法小册)和百来到LeetCode题目,这也导致了我算法知识全是一块一块的,完全没办法衔接起来,面试题也仅仅只是对刷过或类似的题能解,纯纯复刻高三“题海战术”。

2. 算法学习开始的契机

一次工作的间隙,正得意于自己提交的代码如此“简洁”时,便听见了“方圆,你看看这个方法,可以一次遍历完成,但你做了两次遍历,而且还不好读!”

这番提醒对我来说是当头一棒,心想“你这小欻欻!敢对我的整洁代码有意见?!”,便强装嘴硬:咱俩考虑这个方法的角度不同,吧啦吧啦解释一番...

但我回头还是把这个方法的执行逻辑改了,这开始让我意识到,我对算法很不敏感,也从来不会在时间复杂度上去考虑问题,从此便埋下了算法学习的种子。

而种子的开花结果是在某算法大佬直言不讳下催化促成的。一次有幸向大佬的算法开源仓库提交章节贡献,本以为自己写的逻辑清晰,简单易懂,但是在大佬的严格审核下,被批的体无完肤:“你可能更适合写一些便基础的内容...”,一下就让我不值几两的自尊心粉碎,发誓不学好算法不罢休。

3. 学习路线

接下来是主要内容,分算法和LeetCode两部分。知识的来源全部来自书,没有视频,我个人也不倾向选择视频学习,我觉得书籍在很大程度上是知识最好的传播媒介。

算法

  • 《算法(第四版)》: 思来想去我还是想把这本书放在最前面,虽然它是一本不太好读的大部头,翻译欠佳(比如把指针/Java引用翻译成链接...),但是如果你有耐心且时间充裕的话,还是希望你能够选择去读经典的书籍。做一做它每个章节后边的习题,你会在这本书上花很多很多时间,我也相信你因此会有很大的收获。从我这两年陆续读技术书的体验来看,还是推荐以经典为主,素人/网红/大Tittle名人写的书优秀内容较少,有发展粉丝经济的嫌疑。
  • 《Hello 算法》: 如果你刷过剑指Offer的话,那你应该对它的作者比较眼熟。这是一本开源的算法入门电子书,其中所有的内容我全部看过,很用心也很有启发性,但是它还没有完结,不过因此的好处是你可以借此机会去仓库贡献内容。即使你读了上一本书,这本书也必读,而且我建议两本书一起读,先读这本书中的内容,再去《算法》中找相同的章节读,做一做后边的题目,这样能够降低一些《算法》晦涩的程度。 书籍链接: https://www.hello-algo.com
  • 《数据结构与算法之美》: 你说你完全读不进去大部头,那行啊,可以看看这本,国人写得书,比较好读,而且它还结合了一些算法应用的实例,不过一些延展的例子讲得不深,让人觉得浅尝辄止,不过用来入门完全够了,总体还是推荐的。
  • 《算法图解》: 别读!别读!别读!太基础,所有的内容都能在上述书中找到且讲得更好。

LeetCode

  • 《LabuLaDong的算法小抄》: 也是一本开源的免费电子书,不过我觉得这本书太 “繁重” 了,只关注它的第零章动态规划二叉树部分的讲解就好,其他部分建议直接在刷题的时候看高赞题解。大家不要去买这本实体书,电子版内容就很全了,实体书很像是“XXXXXX”。 书籍链接: https://labuladong.github.io/algo/di-ling-zh-bfe1b/
  • LeetCode高频题: 刷题一定要分类刷,先刷链表、再刷二叉树、之后刷动态规划、回溯和递归类型的题,其他的数据结构类、双指针类等其他类放在后面。我自己做了一个刷题的仓库,是我刷过的一些经典题,它不只是简单的分类,在每个分类里我也做了一些细分和必要的思考点,每道题都链接好了LeetCode题目,能点过去直接刷,比较方便。我觉得对算法入门来说应该是完全够了,刷题过程重要的还是要做好总结,因为题量越来越大,不可能每一道题都刷到,有了自己对题的理解和思考才是最重要的。 LeetCode仓库: https://github.com/FangYuan33/LeetCode

祝大家学得开心

Java-Enthusiasm 文章被收录于专栏

用尽热情写的文章,不只技术,GitHub收录地址:https://github.com/FangYuan33/Java-Enthusiasm

全部评论
1
送花
回复 分享
发布于 2023-02-27 09:35 广西
@向宇同桌 老叶,最近牛客是不是把内容的评定规则改了,之前认真写内容很容易上榜,这次甚至找了运营帮忙推一下都上不去,但是反而热榜上没啥内容的待得蛮牢靠呢? 是不是拿了融资光给大家买牛奶喝把内容这事儿给忘了?
1
送花
回复 分享
发布于 2023-02-28 15:30 北京
现代汽车中国前瞻数字研发中心
校招火热招聘中
官网直投
🐮
1
送花
回复 分享
发布于 2023-03-01 00:00 浙江
算能招聘25k以上薪资,春招逆袭就现在。家人们,春招来了,开冲!全程在线!面试辅导,推动流程! 薪资:硕士研发平均50万,本科研发平均40万。可提前来实习,实习工资 = 100%offer工资,试用期工资=100%offer工资,实习可视情况抵扣试用期。 简介:算能是一家拥有强劲技术实力却又充满创业激情的芯片公司,承续了比特大陆在AI领域沉淀多年的技术、专利、产品和客户。公司专注于AI芯片、RISC-V CPU等算力产品的研发,产品已在智能视频、智能安防、智能交通、智能电力、智能医疗、智能油气、智能语义、智能推荐、城市大脑等场景获得了广泛应用。 岗位:数字芯片工程师、芯片设计后端工程师、模拟芯片工程师、软件工程师、嵌入式软件工程师、 工艺工程师、 开发工程师、工业工程工程师、新能源工程师、销售等 其中嵌入式、硬件、算法、IC、销售还有大量HC! 全国多个办公site可任选,包含北京、上海、深圳、南京、武汉、青岛、福州、成都、海外等 福利:六险一金(医保商业险,看病不花钱),12%公积金,不打卡,健身房,房补,餐补,双休,每日水果饮料等 凭扫码投递获取内推资质+已有offer,经审核后可直通终面。任何问题可私聊。
1
送花
回复 分享
发布于 2023-03-01 23:10 山东
点赞
送花
回复 分享
发布于 2023-02-27 09:22 北京
点赞
送花
回复 分享
发布于 2023-02-27 09:39 陕西
点赞
送花
回复 分享
发布于 2023-02-27 09:39 北京
点赞
送花
回复 分享
发布于 2023-02-27 09:41 陕西
点赞
送花
回复 分享
发布于 2023-02-27 09:41 广东
顶🐉!!
点赞
送花
回复 分享
发布于 2023-02-27 11:33 江苏
点赞
送花
回复 分享
发布于 2023-02-27 16:27 浙江
谢谢大佬的总结
点赞
送花
回复 分享
发布于 2023-02-28 20:49 北京
感谢大佬!!!
点赞
送花
回复 分享
发布于 2023-03-01 09:30 广东
点赞
送花
回复 分享
发布于 2023-03-01 17:12 湖北
真是有幸能刷到大佬的建议, 多谢分享
点赞
送花
回复 分享
发布于 2023-03-02 11:16 美国
请问算法小抄在力扣讨论被指出有很多抄袭还有不通顺,依然值得初学者继续学习吗?不会有误导的风险?
点赞
送花
回复 分享
发布于 2023-05-12 17:36 天津
我提一嘴!!代码随想录其实也挺好的!!!看不懂文章的还可以去看视频双管齐下!
点赞
送花
回复 分享
发布于 2023-09-20 15:48 广东

相关推荐

33 126 评论
分享
牛客网
牛客企业服务