算法图解 读后感

感谢图灵社区的电子书阅读奖励计划

算法在日常开发中有什么用,这或许是许多非专科出身的程序员会遇到的疑问。

这也和算法如何学习有关系吧,感觉上就非常难学,给的例子又是非常理想化或者平常工作中遇不到的情况,自然而然就没有了学习的东西。

如果平常的工作比较偏「业务」,简单说就是 API Caller,调用一个 API,然后使用 React 将数据渲染到页面上,处理下点击按钮,发下一个请求。

如果是这种工作,可以说绝大部分情况下对算法的精通并不能帮助你加快开发效率,也不能增加项目的可维护性。
当然也会遇到「感觉需要算法」的情况,比如后端返回的数据结构是一棵树,需要对这个数据进行处理,或者是过滤或者是合并,感觉上是算法了。当然这实际也是,大部分情况下我们会认为算法就是用来处理数据的,无论什么类型的算法教程,都是对数据的处理。
但是,如果个人工作偏业务,将更多时间花在代码上会更好,无论是如何写出更好更易懂的代码,还是在业务的层面对代码进行组织,都是比算法要更值得花时间,或者说投入产出比更大。
算法很少用到,可代码却一直要写,在哪方面花时间更值得非常明显了。

所以算法不用学习了吗?大部分情况是的,但仍需要「了解」算法,这可以帮助你判断遇到的问题是否是算法问题。

为什么会有算法?

这个答案其实很简单,因为要解决问题,并且是「更好地」解决问题。

假设你现在在书桌前,想要去客厅倒杯水,顺便到卫生间洗手,最后再从客厅拿点零食。你肯定不会先去倒水,回到书桌前,然后再去洗手,又回到书桌前,然后又去到客厅拿零食,你肯定会先洗手,然后倒水 and 拿零食,当然反过来也可以。
总之就是你不会像开始描述的那样做。

常用的对象也是算法?

作为一个前端,对象是非常非常频繁使用的一种数据结构,我们会用来保存数据,用来作为缓存,用来表示「对象」。频繁到我们不会去考虑对象是怎么工作的,这对我们来说已经是如同呼吸般的日常。
那么问题来了,对象是如何实现的呢?为什么给出key总是能返回相同的value呢?

有用的算法

本书最后给出了一些「常用」算法,很容易发现这些绝大部分都是「后端」会常遇到的问题,作为一个前端,只是处理数据渲染或者交换的话,真的很难有感同身受。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,188评论 2 89
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,887评论 1 32
  • 心情五谷杂粮,梦得乱七八糟,这些梦为何频频出现,是潜意识的反应?是暗示?是欲示?还是与现实相反?和自己较劲,...
    淡定瓜阅读 1,697评论 0 1
  • 一起去下面买吃的。 喝饮料的时候,田说了句买青虹的,我拿起那成排的三个,是两种饮料,一个是什么青,一个是什么虹。 ...
    沂尾鱼阅读 1,558评论 0 0
  • 第八章:海洋公主的身世 (人类世界)辛灵说道:“关于海洋公主,仙境里,只有她的传说。很久以前,世界只是海洋。...
    冷漠冰公主阅读 6,414评论 0 2

友情链接更多精彩内容