我是这样学习《算法导论》的:面试
8 :10——9 :00 起床、洗漱、吃饭;算法
9 :00——12:30 去自习室用c语言实现书中的算法,并学习书上这部分的内容;数组
12:30——15:00吃饭、玩电脑、午休;函数
15:00——17:30在公开课上看一位MIT教授(《算法导论》的做者之一)关于算法的视频;学习
17:30——18:20晚饭;spa
18:20——22:00去自习室学习下午在视频上看到的内容。设计
日复一日,到今天为止,我已经按这个时间表学习了十天左右(其中有两三天由于打球、去外地中断)。看着名家写的书,看着名家的视频,而且我本身还很认真,天天全部时间都在上面,该动手实践的实践,该看的内容一字不落的看。扎实、完美的学习方式,不是吗?起码我是这样认为的,而且天天都颇有成就感,哈,今天我又学了一章。关于这部分的视频一共有23集,为此我还本身作了一个规划,用一个月的时间把算法这块硬骨头啃完。视频
也就在今天下午,我想解决前两天一位面试官考个人问题。问题是:设计一个算法找出一个给定数组中重复的两个数,这个数组中只有两个数相同。我当时用的是最笨的办法,时间复杂度为O(n^2)。我想试着用分治法去从新解决这个问题,发现分治法中求最大子数组的问题好像和这个有点相似,是否是能够类比一下?class
因而我开始琢磨求最大子数组的算法。首先碰到的问题是这个算法何时中止,脑子里一点印象都没有,甚至连中止的时候有没有返回值都不记得了。只记得算法中有一个子函数是求关于跨两个被分割子数组的最大数组,可这个函数又是怎么实现的,又是一点印象都没有。学习方法
这个算法但是我前几天才在书上看到的,而且本身看完以后又背着书在机器上实现了一遍。这么快就忘记了!!!我真有点不甘心,发狠必定要把它想出来,因而这个下午我在宿舍里一我的足足想了一个半小时才理清这个算法的各个逻辑。
我想起昨晚在网易公开课上看的一位哈佛教授的《幸福课》。视频中提到一种叫安静的学习方法,他们作过一个关于老鼠的试验,有一只老鼠被不停的送入迷宫,另外一只老鼠在每送入一次迷宫以前都会让它喝点小酒,休息一下,思考思考,最后发现后一只老鼠学到的东西要远大于前一只老鼠。我不正像前一只老鼠吗?不停地学习知识,天天一章,就像固定的机器同样,但却历来没有安静的思考所学的东西,好比为何会是这样而不是那样,好比这个算法的本质是什么,好比这个算法与别的同类型算法有何不一样,而我只是在不停的往里装东西。
想起前段时间用靠近两个月的时间学习《深刻理解计算机系统》,我学完了这本书,也放下了这本书,我能够告诉别人我学过这本书了。但今天我却发现我都不敢想象我还记得多少东西,真的不敢想。
想起本身大学的前三年,很勤奋,真的,只要是以为对本身有用的课历来都不翘,而且上课也不玩手机,认真的作笔记。我自信的觉得我是学的很扎实的,但当面试时被问到一些明明学过的基本问题,我却怎么都想不起来。
甚至我刚刚提到的网易公开课中的《幸福课》,我昨天晚上才看完了第一集,但次日下午我却只记得里面有个安静的学习方法,里面的小白鼠这个实验都是我今天下午又从新再看时才想到本身和那个老鼠很像。还记得昨天晚上我看完第一集后,以为颇有道理,立马作了一个规划要在多久以内天天一集将这个《幸福课》都看完。但可悲的是,我在次日即忘记了前一天看过的大部份内容,但我却自信的对别人说,我以为《幸福课》很好看,你能够看一下。
我已经彻底变成了一个学习机器,只是以为嗯这个东西有用,嗯定个计划,学完。而后,我就能够对别人也对本身说我学会了上面的东西。当过几天碰到这本书上的东西时,却发现本身只记得学过这本书,书中好像有这么个概念,究竟是什么样子的已经没有任何印象。
我在以前,总以为这个老师讲的很差,那个老师讲的很差,看看那些国外的老师,人家讲的多好。那么,我如今想反问,若是你以为老师讲的很差,讲的简单,那你真正学会这些简单的内容了吗?面试时候大部分都是课上学过的为何你还答不出来?那些教授再差,人家大部分都是中国名校博士生毕业,又有这么多年研究经验,难道却没有资格教你?眼高手低再加上学习方法的盲目性只能致使你是个庸才。
老爸常常跟我说他上学的时候,最喜欢晚上用手指在腿上比划白天想不出来的问题(他学习成绩很好,常常不去学校,但每次都拿他们班第一,我虽然没见过,但认识我爸的人都这么说),划着划着就出来了。曾经,把这句话当成了一句话,那如今我理解这句话了。
各位博友们,不妨天天给本身一点安静的时间,想一想本身学的东西的前因后果,把解决这个问题的逻辑想一遍,并理清逻辑之间的关系。就算你已人到中年,再也不学习这种书本上的知识,也能够在安静的时刻想一想生活,想一想本身该舍弃什么,该保留什么。就算你什么也不想一想,你也能够享受这份安静。
总之不要像个机器,却本身还不知道本身是个机器。