算法学习的一些个人心得

目录

    • 前言
    • 正文
    • 总结

前言

悟已往之不谏,知来者之可追。

算法学习的一些个人心得_第1张图片

正文

常规的经验贴呢,就是给学弟学妹推荐一些书单,然后写一写自己的刷题经历,最后推荐大家多打比赛,多做项目,多买一些网课。这是比较容易写的。

但我觉得,我们都是普通人,学习的领悟力也没有那么超群绝伦。可能在别人的怂恿下买了一堆科技感十足的书,用着自己的花呗透支去买一些不太实用的网课,真要翻开读上几页,或者认真学习网课,恐怕就要打开咸鱼回血了。

学算法也好,学技术也好, 我觉得做任何事情, 一定要明白自己的目标是什么。

这句话里,有两个关键词。第一个关键词是目标,可量化的才是目标。

我常常幻想着变有钱,想学好算法,这就是无法量化的目标。毕竟,有多少钱才算有钱,学到什么程度算你精通了算法?可量化的目标,往往是可拆分去实现的。

比如,你想过计算级二级java。在你没有选择学习方向时,这是不可量化的目标。因为,看网课、刷题都可以过二级。

当你下定主意选择刷题去过二级,目标就变的可量化了。假如题库里有1200道真题,你要在3个月内刷完。把目标拆分一下,就是每月400道题;再进一步拆分,工作日每天刷50道,休息日每天刷75道。再细化,每天几点到几点固定为刷题时间,期间屏蔽所有应用通知,专心做题思考; 然后每天反省刷题计划是否达标,如果没达标,是为什么,怎么弥补。
这就是计算机的递归思维,自顶向下,逐步求精,反向求解。

当然,这也让我想起一个段子,如下图:
算法学习的一些个人心得_第2张图片
这就是计算机的自底向上了,哈哈~

自顶向下的思维显得有条理,清楚地知道自己下一分钟要干什么。

自底向上的思维就有些眉毛胡子一把抓的感觉,你说谁对时间的利用效率高呢?

第二个关键词是明白,真的明白应该是你每时每刻,每分每秒都明白目标是什么。不是说今天看了《半泽直树》,刷了一些励志的抖音,然后热血沸腾给自己制定计划,结果做着做着就飘了。
我指的飘了不是说学着学着跑去刷抖音了、或者觉得自己强大到不需要学习了。我说的飘是指方向。
比如说做英语阅读理解,见到一个不认识的词,就去查,这个过程中又见到十个不认识的词,然后又去查,结果一个小时过去了,查了不少单词,但是文章没读几句,题还没做。
你说他没学习,倒也认真学了,但是学着学着方向跑偏了,最后挂科了。
这就是没搞明白目标是啥,这种 DFS 查单词的事情,应该是背单词的时候去做。
现在做阅读题呢,目标是快速理解文章内容,选出正确答案嘛。
那么几个生僻词汇,影响你对全文内容的掌握吗?

站在什么山上,唱什么歌。

说回学算法,每个人的自身处境不同,需求不同,
就应该有不同的学习策略,就像背单词和做阅读两个场景采取两种策略一样。

从个人的角度,学算法,也要时时刻刻明白自己想要的是啥。
要么,目标就是从事算法相关的理论研究工作,去啃《算法导论》这种理论性很强的教材,反正你还要在学术的路上走很多年,花上一两年打基础性价比挺高。
要么,是找工作赚钱,那算法就起到个筛选作用,没必要啃大部头。从各种算法的模板练起,平时把leetcode中等题做会,国内大厂过算法关没什么问题。节约下来的时间,干点别的不香吗?
说实话我个人更倾向于后者,向钱看齐,算法只是个工具。有很多学弟学妹纠结于要不要打个竞赛刷个网课之类的,我觉得你明白了你的需求,你再去做选择。

人的精力真的是有限的,把每分每秒都压在刀刃上,才能更快达成目标不是么。

当然,不论选择什么,定好目标后都要仔细拆分,严格执行,这个就看个人的执行力了。

总结

本文写了些方法论层面的东西,主要希望我们能搞清楚自己学习目标,制定周密的计划,独立思考。
算法学习的一些个人心得_第3张图片

你可能感兴趣的:(生活笔记)