作为一个非软件专业毕业的人,算法向来是个苦手。
尽管我觉得广大大学生都是宿舍外卖伴随四年,大概率大家都是菜逼,对于大厂的算法题目考试异常头疼,打开leetcode写是能写,但是对完答案就觉得自己是个傻逼。
然后就两眼一摸瞎,你说去抄答案吧,是可以抄,但是抄了有啥用呢?下一个算法题还是两眼一抹黑,只能勉强实现,压根考虑不到性能,或者说无从考虑,就感觉自己啥都不会。
但是看了《算法图解》这本书后,那就不一样了。
我就感觉,虽然我还是啥都不会,但我大受震撼。
言归正传,做一下读书总结,如有理解不妥的地方,还望大佬指正。
首先,过去我对于数据结构是一种模糊的认知,不能清楚的区分不同数据结构的不同,只觉得是用来存放不同类型的数据的。(我学的java,但是书里用的python,不打紧,看懂逻辑就行)
但其实我看完之后,我觉得除了int,char,boolean,double这些宏观上用来存储不同类型,不同大小的数据的东西之外,剩下的就是用来提升性能而存在的数据结构了。
而这些和性能相关的数据结构,其实归根到底是数组和链表这两种——在内存中的不同存储方式(直接一块一块放的另算)。
●数组:(知道是啥,就不用看了)
数组在内存中是连着存的,你要查找数据,只需要找到第一个数据,就可以按照+n的方式找到第n-1个数据,因此查的快。
但由于要连着,所以每次增加都有可能后面没位置了&#x