来了深圳之后,一直苦于加班中,没有任何的私人时间。博客的更新,学习也被停滞了。
一直想学点什么,但是也无奈于没有大把的时间,只能每天零散的学习一点东西,希望每天都有进步吧,不想虚度自己的光阴。
最近开始学习算法,觉得挺有趣的,也超级费脑子,本来每天上班脑壳疼,还要抽时间学习算法,真的是精力不足啊。
目前在LeetCode网站做算法题,希望能让自己对算法的理解有好的提升。
个人认为学习算法的好处:
1、可以锻炼思维能力
需要不断的去思考问题,从而锻炼思维能力
2、提高解决问题的能力
问题的解决方式有很多种,尝试用多种方式去解决问题,可以提高解决问题的能力。
3、提高相应的编程能力
既然是用代码写算法,当然对编程能力也会有一定的提升。
4、提高发现事物本质的能力
要想把一个问题变为一个实际的算法问题,需要发现其中的本质,发现了本质,才好下手。
5、提高变通能力
有时不要局限一个方向死磕下去,善于变通,换一条路去走。
做了一个星期的题目,发现自己是麻瓜一个,很多算法题往往要想很久,甚至做不出来。但这并不会打击我信心,我依旧会坚持下去,有挑战性的东西才有意思。
或许许多算法用不多,但是思想会应用在不同的场景,我相信学习好算法,有助于解决各种问题。
何谓算法:我个人理解就是通过一些有规律的计算来计算某一个问题。
算法优劣:解决问题的方式往往不会只有一种,因此算法也会有好有坏。
测试用例:算法设计出来只能满足一个例子,往往不能说明这个算法是合格的有用,要通过大量的例子、特殊例子才算有用,这些用来测试算法是否通过的就是测试用例。
算法开销:衡量一个算法往往会考虑他的时间开销、内存开销。涉及到时间复杂度,空间复杂度。
以上都是个人愚钝见解,通过自己的理解来说明一些事情或许更有意义,而不是一味百度、或者别处照抄。自己思考的东西,讲明白了,讲正确了才是对自己的提升。
学习算法有没有用,我不知道,我只是感觉兴趣,就像玩一个解谜游戏!
怎么学习,我觉得就是多思考,多练习,再思考,再练习。
深入学习,一个算法,不是懂了,或者会写这个算法,就是学会了,我觉得还要往深处挖挖。目前我还是菜鸟,没有好的见地。
11月,开始学习算法,先立一个小目标:把LeetCode题目做完一遍。