算法是对特定问题求解步骤的描述。
对于同一个问题,我们可能会用不同的算法来求解,我们可以根据算法的可读性、效率等进行取舍。
针对不同的数据保存方式,也会有不同的算法。
很多同学会觉得,我工作经验五年,工作游刃有余,基本上遇不到什么解决不了的问题,你前面讲了那么多算法,算法真的有用吗,我在工作中貌似从来都没有遇到呀!这么想的同学,一定要注意,可能此时你已经遇到了程序员的天花板,业务代码写的再多其实对你来说已经没有什么提高了。
当你35岁的时候,你会发现自己真的到了焦虑的时候了,你会觉得自己跟二十来岁毕业几年的小伙伴相比较,并没有什么优势嘛!人家还年轻、薪资也低、能加班、愿意吃苦。 程序员,应该做到自己的不可替代,从哪里做呢?就要从这些底层的,貌似没什么用的地方下功夫。
算法和数据结构是整个计算机语言的核心。平时你只是在使用别人开发好的框架来写代码,那你有没有想过,这些框架是如何被编写出来的呢?甚至于说,你用Python,用Java,用Go,用JS编程,那这些语言又是谁编写出来执行你写的代码的呢?这些语言的元语言又是什么?