前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法文章人家又不爱看,你写它干啥?

算法文章人家又不爱看,你写它干啥?

作者头像
爪哇缪斯
发布2023-09-06 13:42:52
1360
发布2023-09-06 13:42:52
举报
文章被收录于专栏:爪哇缪斯

在这1年的算法图解文章写作的过程中,经历了很多的快乐与心酸。拿一篇中等难度的算法题来说,从解题->修改->优化->画图解析->写文字解析->全网发布,这一套操作下来基本是在4个小时左右的,那么,每当看到在LeetCode平台上面的读者们留言感谢的时候,自己真的很开心。后来呢,由于某些原因,LeetCode平台的“每日一题”我就不去写图解了,改成了在公众号发布《剑指Offer》系列和《LeetCode TopXXX》系列的图解文章了,优点是轻松了很多,缺点就是没啥人看,也就更没有什么正向反馈了。

其实关于对算法的看法,听到过好多人的观点是“平时工作也用不到,就应付面试时候用,临面试前刷一刷就行了”。这个不奇怪,以前我也是这么认为的,甚至这个观点一度是我劝解自己不去费力刷算法题的“理由”。但真的是这样吗?

为什么我们平时感觉不怎么用到算法?以数据库操作为例,查询操作我们使用SQL语句编写就可以了,然后从数据库中获得查询到的结果,搞定!那算法应用在哪里呢?在数据库系统中。那算法性能消耗在哪里呢?也是在数据库系统中。这种情况,我们当然可以不用算法了。但是,随着数据量的增大,如果将这部分性能交给我们“最后底牌”数据库,那我们的优化空间必然非常小了,而且如果我们真的要从关系型数据库切换为非关系型数据库,那改造的成本也会非常的大。那应该怎么做呢?

我们应该将数据的拼装及操作逻辑提取到我们自己的算法中,而针对数据库中数据的查询操作尽量是针对单表少量条件查询的,甚至实现仅需根据id或者ids主键来进行数据的提取操作。这样,耗费性能的数据拼装逻辑就可以由我们去处理了,而性能优化的方式和手段也会有更多的选择,并且如果要执行关系型数据库与非关系型数据库互相切换,也可以对我们的代码逻辑几乎不会有任何影响。

当然,如果从更普适的角度来看,我们平时写的业务代码也是算法,只不过逻辑并没有算法题里面的那么复杂而已。因此,开发语言+框架+算法其实是我们作为程序员日常工作的3大利器,那么,算法还不重要吗?

我常常表达一个自己的观点,就是平时我们跑步、健身是为了让我们身体越来越强壮;而平时每天做几道算法题,是为了让我们的脑子更“强壮”;身体+大脑双重发展,何乐而不为呢?

那么如何提升自己的算法能力呢?数据结构+算法解题大类+每日N题,前两者是在理论上可以提升自己的解题能力,而最后的“每日N题”,则会使你在日积月累中“潜移默化”的达到算法能力从质变到量变的过程,此处引用复利曲线,这条曲线时常的在我要放弃某件事情的时候提醒我,要咬牙坚持下去,否则,前面的努力几近“白废”,只有达到那个飞速发展的点,我们的努力才会得到更大的收益。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爪哇缪斯 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档