algorithm003 / algorithm

17 stars 88 forks source link

【012-毕业总结】从零开始 #331

Open pizhihui opened 5 years ago

pizhihui commented 5 years ago

一个月的时间总是过的很快,今年对于我来说,很有意义,发生了很多事情,人生跌入了低谷。干程序猿这一行开始,曾经疯狂的追求各种炫酷的技术,最后发现没有打牢地基的大楼总是摇摇欲坠。所以我想从头开始,从基础的开始,给自己一个新的起点,一个可以在挽回的年纪再奋斗一把。

以前对数据结构和算法这一块儿有过复习,时间总是很短暂,总是由于各种原因没有坚持下来。这回在超哥的带领下,学到了很多心得,如五毒神掌,需要去刻意练习。真正打开了学习算法的大门,我不在大门外徘徊、犹豫、找不到方法。对于递归、DP等这些经典的算法套路,也有了一些新的认识,以前对于我来说就是陌生,现在我逐渐对他有了兴趣,想去把他弄懂。就像打游戏,打通关,征服他,是很有意义的。PS:这里插一句,我本科学的是安全工程(建筑、消防安全),干这行纯粹爱好,所以之前走了一些弯路。

接下来就是对于知识的一个总结吧。 1、首先对入门的结构,数组不比多说,不过对于链表很深刻的就是用递归的思路去实现一个连链表或者用递归的思路去解决链表的一些问题,这对于递归的入门,或者是以后的树和DP的学习都有很大的帮助,这是一个很有意义的地方。 2、然后就是对于树相关的思路,反其道行之,用递归很容易去实现相关的题目,反到是用普通的解法(迭代),实现可能有点麻烦,其实这都是在进行刻意的练习,平时肯定没有人这么干,不过这些刻意的练习有利于激发自己的一些思维和思路,也可能会触类旁通,激发一些解题新思路的灵感。 3、接着就是对于DP,学完递归以后,DP是最大的难度,递归是自顶向下的思路去套路出一个重叠子问题,这是人正常的思路,也是机器的思路。而DP就是自底向上套路出一个最优子结构,其实都是去抽象出一个公式来去解决这个问题。只不过方式不一样。要达到熟练的程度,这就需要我们刻意的去多练多想。最后发现一个DP的解题套路:就是用选或不选的套路,然后纸上画出选了有些什么方案,不选有些什么方案,只要这个树状的思路一出来,最优子结构可能就一目了然了。当然这是视频里学到的。大家可以勇于发言说一些套路。 4、最后就是对于LRUCache、BloomFilter、线性表这些,这些在工作中用到的还是很多的,只不过平常不接触,LRUCache的缓存算法,BloomFilter在爬虫中的过滤等等这些,这些点我觉得是应用相关的,是很好学习的。比较贴近工作中的码农们。所以这个平时加强点学习我就得就ok了。

哇,写了有这么多,给自己一个重新开始的机会,加油。 定个明确的目标吧:到19年的最后一天,刷完150题。我个人最大的困难就是递归和DP了,重点突破这类型的题目,达到融会贯通的目的。 最后300题的任务用我余生去奋斗,当然是说笑,这都是需要变化的,不过我希望经过19年的沉淀后,20年我可以去突破我自己。破茧成蝶!!!

liangcha commented 5 years ago

我比你更多还没掌握好~向大佬学习!