程序猿为什么会淡忘?

来源:互联网 发布:注册免费域名 编辑:程序博客网 时间:2024/04/29 18:56

一 起因:

(1)你是否有过这样的尴尬经历:明明昨天研究很熟悉的技术,今天却不能很好的领导讲解?

(2)你是否有过这样的尴尬处境:明明之前做好的项目,过一段时间竟然把它统统忘记?

(3)你是否有过这样的汗颜情景:自己非常熟悉的技术,突然一下子被一个爱刨根问题的”无招数的江湖小子“,给问的自己不知道如何回答?

(4)你是否有过这样的纠结状况:明明记了N多次的算法,总是一次一次查看,再一次一次的忘去?

(5)你也许会说忘记,是为了接收、接受新的知识和信息……

你也许会说忘记,是为了更好的记住……

你也许会说忘记,是为了……

(好了,你要是再找,会找到一万种理由),纵使你有一万种理由,但是对于一个算法(例如快排 —— quickSort, 堆排 —— deapSort)你看了N遍的算法,你还是没有记住,这是说不过去的!!!

你有没有考虑过,你根本就没有弄清楚问题的来龙去脉,根本就不晓得算法的真谛,更不知道算法的本末,仅仅停留在我会用……并不知道为什么是这个样子。

二:如何尽量避免这些窘况的发生

(1)我仅仅以自己学习算法的经历为例:

(2)对于比较复杂但还不是很复杂的算法(algorithm),一定要找到一种适合自己记忆的方法

(3)最好把这种方法,模拟一遍,画图,画表格,都可以,,一定要模拟一遍。

(4)就拿DP(01背包,完全背包,多重背包)算法来说,假设把最根本的推导公式记住了,你可以通过画一个矩阵(二维数组),模拟一遍,就会发现,原来空间复杂度可以由二维 降为 一维

(5)还有就是并查集,路径压缩,自己模拟一下会很方便的记住的

(6)各中排序算法,二分查找等等算法

4 0
原创粉丝点击