前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【老码农闲话】深入学习算法和不学习算法8大区别,绝不能忽视?

【老码农闲话】深入学习算法和不学习算法8大区别,绝不能忽视?

作者头像
小码匠
发布2022-08-08 13:19:51
2790
发布2022-08-08 13:19:51
举报
文章被收录于专栏:小码匠和老码农

深入学习算法和不学习算法8大区别?

关于算法

  • 关于算法话题很多
    • 比如我想学算法按什么路径学;
    • 比如学算法买什么书籍;
    • 比如刷算法心得;
    • 比如算法应用场景;
    • ...

今天先跟大家分享下深入学习算法和不会算法的区别。

8大区别

第一:想好再干 & 开干在想

  • 想好再干 问题解决方案都思考清楚了,写代码一气呵成,如下行云流水不走回头路。
  • 开干在想 一开始就晕乎,在晕乎中苦苦追寻解决方案,导致大量返工。这也是很多团队工作的真实写照。

大家可以对照自己的团队,是不是很多团队都是接需求不做设计就干,搞到一半发现N多没想明白,推倒重来再重写大量代码,还美其名曰,需求这么紧,哪有时间做技术方案。

结论:加班 = 活该

学习算法的同学都有一个习惯:拿到题目,先思考,分析各种分支,复杂问题会先推导公式。

第二:工作效率

  • 普通增删改查业务 会不会算法往往却体现不出差距
  • 涉及算法相关的任务 精通算法同学效能比不会算法同学至少是10倍级数量提高,这个提升绝对不夸张。 算法是什么:你想通了,几分钟代码就码完了,想不明白给你几天也搞不定。

不信邪的童鞋,看下这道题如何做?看看自己10分钟能否搞定

210. 课程表 II
  • https://leetcode.cn/problems/course-schedule-ii/

第三:代码健壮性

尤其那些参加赛制为只要一个case不过就爆零的大神,通常在写代码之前把各种情况考虑清楚了,要不你多次提交虽然AC了,但会罚分,直接影响排名。

通常算法比赛的测试case都比较全,各种情况都考虑到,算法大神基本都一次AC。

第四:性能

算法好的同学写代码前除了把业务搞明白、都要考虑这个业务

  • 数据量是多少?
  • 算法的时间复杂度和空间复杂度是多少?
  • 公式推导或处理流程推导

这些都是日常的打比赛养成的习惯,已经揉到骨子里了。写出来的代码性能往往都非常非常高,

如果与不会算法同学相比,往往涉及算法的逻辑性能相差百倍不止。

很多刚开始接触算法比赛的同学最常出现:TLE,可大神们的代码优美,执行往往20ms以内搞定,

更何况平时不接触算法同学,涉及算法的逻辑,性能就可想而知了。

第五:学习能力

算法好同学往往学习能力非常强,注重自身技术能力精进。

比如涉及图搜索,常规的算法:DFS、BFS、Floyd、Dijkstra、Bellman-Ford、SPFA等多种实现方式。

每种实现方式各有优缺点,而这些也是一个中级算法工程师掌握的。

学习能力不强能掌握这么多算法吗?

第六:更多的机会

  • 内推机会
    • 参加leetcode的周赛,前200名都可以获得内推机会,而且这些公司通常福利待遇都是不错。 机会来找你,不用你到处撒网找机会,爽歪歪吧。

第七:更多的钱途

  • 薪资高 这点应该没有争议,搞算法同学薪资高出一般同学20%应该是没什么问题。
  • 有钱赚
    • 算法比赛平台周赛排名靠前的同学都会收到主办方礼物;
    • 有些比赛的奖金少则几千,动则几万都有,就看你的水平了。
  • 昨天咨询某机构信奥培训费:每小时费用高达几百元,试想你精通常规算法,随随便便教个课就。。。。偷着乐吧。

第八:更多成就感

  • 很多同学都抱怨学不到技术。
    • 怪公司
    • 怪团队

兄弟,你整天增删改查怪谁啊。平凡的东西玩出不一样,那才叫本事,会算法就不同了,人家全搜索,你来半分搜索,继而动态规划,贪心策略来搞。

周围的同学向你投来仰慕的眼神,神气吧。

机会的精进一定要靠自己,别怨天尤人做怨妇了。

终篇

  • 说了这么多好处,你认吗?认就马上动手学起来,我们一起精进技术,加油,哦耶!
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小码匠和老码农 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 深入学习算法和不学习算法8大区别?
    • 关于算法
      • 8大区别
        • 第一:想好再干 & 开干在想
        • 第二:工作效率
        • 第三:代码健壮性
        • 第四:性能
        • 第五:学习能力
        • 第六:更多的机会
        • 第七:更多的钱途
        • 第八:更多成就感
      • 终篇
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档