这几天一直在纳闷,学习数据结构和算法分析有什么用处,在平时做项目的时候也没有用到这一方面的知识,老师也没有提过这方面的东西。学这样的东西对我做项目有没有帮助?
看你将来是做一个码农
还是做一个牛逼的架构师、框架作者、亦或者是公司的主干力量
前者可替代性强、后者可替代性弱
在我所在的二线城市,码农根据项目经验、思维逻辑、熟练程度 3k-15k不等。当然你加班加不动了,或者家庭需要你,你不能为公司加班赶进度的时候。公司会选择将你:
但是架构师等主干力量 少说的20k起价,天花板多少就看你运气,能进什么公司了。
一线城市按照现在的水平,最少多百分之五十,并且天花板也更高
书到用时方恨少,趁着有机会,有时间,有渠道,没压力的时候努力的将基础打牢靠吧!虽然算法数据结构等,在你刚参加工作的时候对你没什么帮助,因为你刚开进入工作岗位,肯定也只能是一个增删改查工程师,但是当你的经验积累够了,公司中级岗位出现空缺了,你还有余力往上冲的时候,这就是你现在三四年时间学习做能够拿出来把我机会的资本了。
如果你并不想将来成为一个IT行业,或者计算机行业的人才,不依赖于行业优势混个超过百分之九十人收入的工作岗位的话,您把放了就行
这个社会只有老板不会被 贡献给社会,做人才输出,因为老板本身就是混社会的!
没什么用,CURD也能编程,主要是面试需要这些东西,实际编程中用的不多,但是掌握总比不掌握好,面试可以跟面试官吹一下,假装你懂的很多
数据结构和算法是基础
好比构建房子
这些就是地基
基础不牢 地动山摇
基础知识掌握得越牢固越好
很多基础知识后面一定用得上
最简单的例子,你写代码的时候,如果你要用到List,你说该用ArrayList还是LinkedList?你用map的时候是用hashMap还是TreeMap?不同的实现类底层的数据结构是不同的,适应的场景也不同;
对应平常开发来说,数据量没那么大,可能使用不同的实现类型差别不大,但随着数据量的增加,性能差距就会越来越大,以致到最后可能会导致意想不到的“BUG”,所以你要成长就得要学习这些,比如自己实现LRU时你会选择什么样的数据结构。
对于算法来说,为什么要提到数据结构就要提到算法?算法是在确定数据结构的基础上去进行实现的,如何在不同的数据结构找到其对应的最优算法,这就要看个人能力了。
做算法题也可以使思维保持活跃,让脑子“不生锈”,平时可以刷刷牛客网或力扣的算法题,也是很有意思的。