算法?干就完了!

相信每个程序员对算法都不陌生,不管是在面试找工作的时候,还是在写程序,甚至是和朋友“吹牛逼”的时候,都显得无比重要。
那我们学习算法,难道就只是为了面试吗?真的就只是“面试造火箭,入职拧螺丝”吗?其实不尽然!
什么是算法?说白了就是解决问题的能力。
如何烧水泡咖啡?
1、 把自来水装进水壶
2、 把水壶放在煤气灶上
3、 等待
4、 把速溶咖啡粉装入杯子
5、 拿烧开的水冲咖啡
在这里插入图片描述

这其实就是一个简单的算法。而一般人会说直接进行步骤5,忽略掉前4个步骤。在生活中我们可以这样,但计算机的世界里却不可以。
算法的官方定义为:指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
简单点讲,就是我们采取不同的步骤,解决不同的问题。
我再举一个例子。比如说:有一个大小为100的数组,里面的元素是从1到100按顺序排列,怎样随机的从里面选择1个数?
这个很简单,我随便选一个,貌似就是随机数。如果是代码调用,我们直接Math.random() * 100就可以。
但我现在换个问题:有一个大小为100的数组,里面的元素是从1到100按顺序排列,怎样随机的从里面选择50个数?
按照上面的想法,我随便随机50次Math.random() * 100不是就可以吗?
但是我们忘记了,这样我们就会遇到重复的数。
那我们能不能把1-100个数先打乱,然后选取其中的前50个数呢?
明显是可以的。于是,有人把这种方法,就总结成了一个【洗牌算法】
在这里插入图片描述

是不是看起来很有趣?很多人把算法和复杂挂钩,其实不然。
很多算法的由来,其实都是最原始的问题。
这是你思维凝练的一个过程,或者学习前人思维凝练结果的一个过程。
从利益角度来讲,无论你是找工作还是升学,几乎都躲不过笔试这一关。具备一定的算法能力,能够让你有机会去展现你的能力。
从工作角度来讲,成体系的算法训练能够让你在解决一些复杂问题时游刃有余。
当我们解决足够多的算法问题后,我们会潜移默化的思考时间或空间复杂度,我们会情不自禁地对相同的问题进行归纳总结,再在使用的时候能够举一反三给出答案。
比如说红黑树,很多人把手撕代码背的死死的。但是却搞不懂红黑树的核心在于“平衡”二字。很多java面试者在面试时都可以答出jdk8的hashmap用红黑树实现,但却不知道红黑树主要是为了解决高效公平的调度问题。
在这里插入图片描述

所以,我们遇到一个算法,一定要明确这个算法/数据结构的提出,是为了解决什么样的问题。
现在,算法岗位的工资越来越高,越来越多的人学习算法。但是学习算法的过程,也越来越多的人抱怨算法很难。
因为算法有很多复杂的逻辑关系,导致很多人半途而废;同时算法还有很多难懂的数学概念,学习过程颇为枯燥;
正因如此,我们才会听到很多“算法无用论”的劝退声音。不过呢,我知道还是有很多在学算法的同学,我这里给这些同学一些真实的建议:
学好基础。很多人总觉得基础算法和ML的东西完全不一样,但其实很多机器学习和深度学习算法的核心就是线性代数的矩阵运算和迭代法的过程,甚至是直接套用一些数学概念和公式。所以你现在明白了为什么要学好数学了吧。
**参加比赛。**学习算法的过程其实是一个漫长的过程,可能你学会了这个算法但并不知道如何举一反三的使用,可能你学过的算法又很快忘记。
一个很好的进行实践和自我提升的过程,就是去参加比赛。因为比赛就是学以致用的过程,不仅可以提升自己学习的深度,加深对算法的理解,对就业找工作的时候也很有帮助。
当然,这可不是就意味着你就去参加所有的比赛,而是要去多参加一些有含金量和业内认可的一些赛事。比如:ACM大赛,Kaggle 比赛、还有一些国内的大厂举办的比赛,像腾讯广告算法大赛、阿里的天池大赛、百度的百度之星、华为的软件精英挑战赛等等。
这些是不是听上去就很厉害?不仅厉害,而且在行业内的认可度也很高。
实不相瞒,这两天我摸鱼的时候,就刚好看到了眼下一个很好的机会:2021腾讯广告算法大赛。什么是广告算法?比如你们经常在公众号最下方看到这种小框广告:
我了解了一下。其实这种广告,也就是个性化广告。它首先根据你的特征属性对你进行分类,比如“一线城市男青年”,再去匹配想把广告推送给“一线城市男青年”的广告主,来进行个性化推荐。这样一方面能够向用户推荐可能更感兴趣的内容,另一方面也能实现多方生态效率和资源的最大优化。

带着这样的好奇心趋势下,我又去分析了今年算法大赛的赛题:
在这里插入图片描述

你看这个题目,听起来感觉挺复杂。“视频广告秒级语义解析”、“多模态视频广告标签”。说白了,其实就是内容标签的提取。
什么是内容标签?你看到一个短视频,里边一只猴子在那里啃香蕉,可能我们就能抽象出一个 “动物” 的单词,这个“动物”就叫作标签。
那为啥要做这个内容标签提取呢?大家应该知道今年都是短视频的天下,那如何提升短视频的分发效率,就成了各大短视频平台面临的重要课题。而内容标签,其实就是机器理解内容的一种重要手段。
当对视频内容进行标签提取之后,我们就可以知道读者喜欢什么,然后定制化的给他们进行推送。
是不是这么听我一说,就觉得很简单了?
那我们如何对内容标签进行提取呢?嘿嘿,参加这个比赛,你就可以接触到很多选手,他们在这方面都会有很强的经验。没吃过猪肉,还没见过猪跑?知识这个东西,其实真的没那么复杂。
(官网链接:https://algo.qq.com/)
你以为别人都是会了才去参加,其实很多人都是为了会才去参加!

咱们再瞧瞧这比赛提供的福利:10w 美金真金白银。整个奖金池已经超过了百万,有进步奖、答辩奖、周冠奖,相当有诚意。
在这里插入图片描述

注意,初赛是4月19日开始,但报名期从即日开始,会一直持续到5月31日,所以越早报名越能早点开始模型训练。可以选择单打独斗,也可以自由组队,一起参赛。
另外,小伙伴们也终于可以和各位大佬面对面切磋一下了。
在这里插入图片描述

总之写了这么多,开头我也说了我对算法的看法。算法的本质,其实就是提升个人的核心能力,而参加这种比赛,就是让我们有一个明确的目标去提升自己。

多余的话我也不说,想提升自己的老铁们,直接点击下面的【阅读原文】报个名吧,又或者下面直接扫码都可以。

在这里插入图片描述

最后,有兴趣的朋友,记得点开链接参与一下哈。
https://algo.qq.com/signup.html?rfisource=AMSWN0303

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值