企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
考试成绩好的同学,我们习惯称之为“学霸”。不过,还有一类人,他们是因为对考试技巧很有研究,而取得了高分。这类人虽然通过技巧取得了高分,但对知识缺少系统的理解和灵活的运用,只能称得上是“学酥”。 #### 酥者,看似很硬,一碰即碎 步入社会后,你会发现人生的挑战,远远不只是卷面的写写画画。要想在不同类型的挑战、持续不断的挑战中获胜,单单靠那些花里胡哨的技巧是远远不够的。以前有一位老师曾跟我说过,“你取得成绩的天花板,取决于你对事情的认知”。 下面我们举个例子,一起探讨一下这个话题。近年来,直播带货出现了红利,我国一年因直播带货创造的 GMV 可达万亿元。虽然巨大的市场摆在这里,但对你我而言,很难通过开直播去养活自己。原因非常简单,我们从未涉足过直播,对主播的工作方式、对直播行业的运转规律并不了解。 试想一下,我们把直播行业换成互联网公司,把主播换成程序员,反过来看看程序员的成长。很显然,程序员必须对技术原理有充分的理解和认知。只有这样,你才能成为程序员界的李佳琦。那么,到底该怎么做,才能对技术原理有充分的理解和认知呢? 我认为是“勤修内功”,具体而言: * 勤,即次数多,可理解为是持续不断的意思。 * 修,即炼,可理解为预习、学习、复习。 * 内功,即认知,是你对这项技术的理解深度。 相对而言,外功更像是一些技巧性的东西。从字面理解,勤修内功就是不断温习技术原理,持续加强技术认知。 #### 勤修 子曰:“学而时习之,不亦说乎。”我们需要通过不断地复习来加深自己对所学知识的理解。第一次学习,你可能会觉得书中所述的内容很好;第二次学习,你可能又会发现有些地方作者话中有话,并没有过度展开;第三次学习,当你的理解深度不亚于作者时,也许你还会发现,这个作者的水平一般般,很多关键细节的表述比较含糊。在经过了多次学习之后,你对作者的态度可能会从崇拜转变为质疑,这个过程就是你的成长。 #### 内功 对于《重学数据结构与算法》专栏而言,重要的内功就是如何降低复杂度。我们从复杂度讲起,讲述了利用算法思维和设计数据结构来降低复杂度的各种方法。这些算法思维和数据结构,就是你通过这门课学会的内家功夫,也是你作为程序员的行业竞争力,更是你未来吃饭的家伙事儿。 关于程序员的行业竞争力,我们多啰唆几句。请你思考这样一个问题,对于两个不同的工程师,是什么因素让一个人收到的 offer 源源不断、薪酬百万,而另一个人只能忍辱负重、处处碰壁呢? 从结果来看,一定是两个人的投入产出比不同。然而,你有没有思考过,又是什么因素造成了两个人投入产出比的不同呢? 其实,是能力。一个人能力的高低,决定了他获得业绩的多少。能力包含方方面面,有的能力可以快速学会,比如骑自行车,大多数人一周就能学会,因此这并不属于竞争力。而有的能力则是慢功夫,比如你对数据结构的理解能力、你的算法能力以及技术选型的判断力等等,这些都是经过长期积累、反复学习,才能有所收获。 当你有了扎实的基本功之后,再面对新鲜、复杂的新知识时,会更容易理解,也就更容易快速学会。反之,则是学什么都很吃力。例如,我看到很多人在研究机器学习、AI 算法上都比较吃力,本质原因是你高等数学的基本功不过关。 因此,你的短期竞争力可能是那些花里胡哨很快就能学会的技能,而你的长期竞争力一定是来自你的内功,也就是数据结构与算法这门学科的基本功。 #### 写在最后 不知不觉,五个模块 21 个课时的内容已经全部更新完毕。不知你是否还记得我在开篇词中提到的设计这门专栏课程的初衷? 我当时这样写道:“通过本专栏的学习,我希望帮助你摆脱盲目刷题与漫无目的地学习方式,更加高效地掌握数据结构与算法知识,真正掌握程序开发、代码优化的方法论,完成从掌握理论知识到解决实际问题的转变。” 在课程设计的过程中,我时刻提醒自己,要站在你们的角度做内容。用尽量少的文字,把一个问题讲清楚。这段时间,我一直关注大家的留言,也在处理大家在留言中提出的问题。在这个过程中,我看到了很多真实的用户反馈和学习体验,这让我收获良多。 数据结构与算法知识虽然复杂难懂,但其实想要学好也并没有想象的那么困难。它有通用的解题思路和宏观层面的方法论,重点在于学以致用。因此,我在每个课时都设置了一道练习题,帮助你巩固本课时的内容,检测自己的学习成果。只有不断地发现问题、提出问题、解决问题,才能真正将书本上的知识活学活用。输出是对掌握最好的检验。如果你还没有完成练习题,希望你回过头来逐一攻破。 当然了,我更希望你通过本专栏的学习,已经具备将知识灵活运用到实际工作中的能力。如果你还有哪些地方不明白,欢迎在留言区留言提问。虽然课程完结了,但我还会持续关注大家,为你答疑解惑。希望正在读这篇文章的你能够学以致用、学有所成。