刷完leetcode的二叉树中等题,请允许我小小的嘚瑟一把
其实嘚瑟不起来,作为科班生,“算法是程序的灵魂”这句话是早已会拼写的了,但到了这把年纪,从接触代码开始至今已经快十年了,在这上面却没有丝毫进步,现在刷一刷二叉树中等题还经常大脑短路,不少还需要反复看题解,说起来都是应该羞愧的事了。
当然,天赋不够是重要原因,看算法导论那本书真是如同天书;二是没有把它当成兴趣,没有太多理想,没有设定长期的确定的目标;三是学习太杂,干扰太多,成了金庸笔下的华山派剑宗门人。自从入了Java Web的坑之后,Java框架有Struts2,Hibernate,Mybatis,Netty,Dubbo,Spring全家桶等,中间件技术有Nginx,Redis,Zookeeper,ElasticSearch,多种MQ,SkyWalking,容器技术有Docker,K8S等,数据库技术有MySQL,PostgreSQL,MongoDB,大数据技术有Hadoop,Flink等。技术是有所积累,但每一种都只学个皮毛,耗费时间却不少,要想深入一点却是寸步难行。比如这几个问题,(1)数据库索引为什么用B+树?有没有更好的方式(2)ElasticSearch中的相关度评分有什么依据?(3)为什么地理位置索引可以用R树实现?算法功底不够是很难回答的,即使能从网上找到一些答案,也难有什么深刻体会。
不过总算是通过200题了,我也是需要多鼓励才能更加愉快的在算法道路坚持下去。虽然天赋有限,但勤能补拙。慢慢的把兴趣转移到这上面来,立几个现实的长期flag,拆分成小flag慢慢地一个一个去达成,这也是长跑运动员的技巧吧。尽量减少各种新技术的干扰,以前的学习策略是:不求甚解,每有会意,便欣然忘食。到了程序猿中年瓶颈期,这恐怕不太行得通了,以后的策略应该是:集中优势兵力,破其一路,以点带面。
同时推荐一个大佬的文章,他的刷题套路对我有不少帮助,希望也能帮助到有需要的盆友。
文章链接:labuladong的算法小抄
二维码: