写点什么

算法攻关 - 指导篇

发布于: 2021 年 03 月 01 日
算法攻关-指导篇

文章部分知识来自极客时间,部分来自 LeetCode,部分来自开源的 GitHub 面经。目的是形成一套免费的攻关手册,希望帮助到有需要的人。

一、理论

如果想要精通一个领域,需要三个步骤

  • 切碎知识点

  • 刻意练习

  • 反馈

1.1、切碎知识点

对于整个结构的知识,往往是高内聚的,封闭原则非常好,那么你如何能够从很简单的东西,进行掌握内部原理或者深入理解以后提炼出自己的知识?这里需要做的就是切碎知识点,比如我们常听到的点动成线,线动成面,面动成体。那么我们想要了解这个,则我们需要明确他有几个面,我们想要了解这个面则可以根据切分多少个线,我们想要了解线的话,则可以直接来切分成多个点。是不是这里你对于这个切碎有了一点理解。这里我为何也非常赞同这个说法,是因为最近发现工作中,我们的时间都是碎片化时间,那么如果我们不能去将碎片化的时间应对到碎片的知识点,那么我们往往没有那么多时间去做某个事情。这样的话,我们是不是经常需要用整片的时间去学习碎片化的知识。比如我现在看了一篇公众号,或者看了一个抖音视频。


PS:我们应该学习的就是如何将碎片化时间学习体系化知识,这就是精通领域的第一个要素,切碎知识点。

1.2、刻意练习

前几天有个问题,我媳妇问我为啥老卡在那一个算法题,我想了想告诉他我再思考如何能够提出一个更优解,而且这个解法是融合我的思考的。我告诉她我希望的是从这个题能够提炼出共性,以及能够将变形体在未来很容易的解决,所以我需要第一个稳扎稳打,第二个刻意练习这类问题。


那么什么时候我们需要刻意练习,我这里想说明的就是你觉得不会的内容,有缺陷的地方,或者不舒服的内容。就像一个木桶一样,我们不是需要将那个非常长的木板提高的特别高,而是尽可能匀称,这样我们会能够获得更多水。


1.3、反馈

反馈很重要,前几天跟领导聊完绩效,领导问“你有什么问题,想问的么?”,我拿出了之前记录的问题,问:从你自己来看,你认为什么样的员工好,什么样的领导好?


他给我的回答:持续成长,持续反馈,同时可以用在员工和领导身上。他认为反馈是对于每个人成长的必要条件,对于自己也是,如果领导不能给自己反馈,那么第一领导不是非常重视自己,第二你没法不断获得改变的建议,则容易偏离航道。


这里我想表达的是,反馈可以主动反馈,自己去寻找自己的缺陷是否弥补上,或者去与高手 PK。第二种是被动反馈,有 mentor 或者队友看着你,并给你反馈。无论哪种,都是需要你冷静对比反馈和自己分析以后进行下一步规划的重点。


二、准备

2.1、切碎知识点

将算法和数据结构进行切碎,我们可以看下如下图:按照数据结构与算法进行分了 2 类。


PS:此图借用极客时间课程的图,可能后期,我有了自己的思考和验证会进行调整。

2.2、算法刷题步骤

  • 明确题意

  • 考虑多个解题方式和多个解

  • - 比较获取最优解以及最优方案

  • 边写边思考

  • 用 case 验证


2.3、数据结构初识

参考原文章:【数据结构与算法】从0-1小白学习之路(入门篇)

2.4、数据结构复杂度分析

参考原文章:【数据结构与算法】从0-1小白学习之路(进阶篇)


下一篇开始算法攻关之旅。


发布于: 2021 年 03 月 01 日阅读数: 17
用户头像

小胜靠智,大胜靠德 2019.06.27 加入

历经创业、京东、腾讯、滴滴公司,希望能够有些东西一起分享。公众号:小诚信驿站,微信/CSDN搜索:wolf_love666

评论

发布
暂无评论
算法攻关-指导篇