数据结构和算法的重要性
前言
不知道你们有没有发现,现在学编程的人数越来越多,这也就存在水平差异化。在企业中,存在差不多1/3的人如果遇到不会的就去查百度。俗称百度工程师,也就是典型的搬砖工人。
以下有个例题看看你们会怎么处理
字符串匹配问题
1)有一个字符串 str1=“中国好,中国共产党好,中国万岁”,和一个字符串 str2=“中国万岁”。
2)判断str1中是否存在str2
3)要用最佳的解决方案解决此问题
就上面这个问题,你们问问自己要怎么解决?
数据结构和算法的重要性
我们现在讨论字符串匹配问题,我相信没学过算法的同学,就直接使用暴力匹配法。这个方法很容易想到,但是效率特别的低。
如果学过算法的同学,就知道如何用最佳的方案解决此问题。那就是KMP算法,可以用最快的速度解决。KMP算法这里就不讨论了,如果想学的同学可以查看详解KMP算法
算法是程序的灵魂,一个优秀的程序是可以在海量的数据中,仍保持高效计算。目前各大厂的面试要求也越来越高,算法肯定会要去。如果你不想去大厂,只想去小公司,获取并不需要要求算法。但是你永远只能当一个代码工人,也就是跟搬砖的没区别。可能一两年后你就会被淘汰。
如果不想永远当个代码工人,就在业余时间学学数据结构和算法。
为什么要学数据结构?因为算法是建立在数据结构的基础上。