东方耀AI技术分享

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4710|回复: 2
打印 上一主题 下一主题

[学习笔记] 01、为什么要学习数据结构和算法?

[复制链接]

1365

主题

1856

帖子

1万

积分

管理员

Rank: 10Rank: 10Rank: 10

积分
14439
QQ
跳转到指定楼层
楼主
发表于 2019-10-7 18:09:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


很多大公司,比如 BAT、Google、Facebook,面试的时候都喜欢考算法、让人现场写代码。
有些人虽然技术不错,但每次去面试都会“跪”在算法上,很是可惜。那你有没有想过,为什么
这些大公司都喜欢考算法呢?
校招的时候,参加面试的学生通常没有实际项目经验,公司只能考察他们的基础知识是否牢固。
社招就更不用说了,越是厉害的公司,越是注重考察数据结构与算法这类基础知识。相比短期能
力,他们更看中你的长期潜力。
在平时的工作中,数据结构和算法的应用到处可见。我来举一个你非常熟悉的例子:如何实时地
统计业务接口的 99% 响应时间?
你可能最先想到,每次查询时,从小到大排序所有的响应时间,如果总共有 1200 个数据,那第
1188 个数据就是 99% 的响应时间。很显然,每次用这个方法查询的话都要排序,效率是非常
低的。但是,如果你知道“堆”这个数据结构,用两个堆可以非常高效地解决这个问题。


经常有人说,程序员 35 岁之后很容易陷入瓶颈,被行业淘汰,我觉得原因其实就在此。有的人
写代码的时候,从来都不考虑非功能性的需求,只是完成功能,凑合能用就好;做事情的时候,
也从来没有长远规划,只把眼前事情做好就满足了
我曾经面试过很多大龄候选人,简历能写十几页,经历的项目有几十个,但是细看下来,每个项
目都是重复地堆砌业务逻辑而已,完全没有难度递进,看不出有能力提升。久而久之,十年的积
累可能跟一年的积累没有任何区别。这样的人,怎么不会被行业淘汰呢?




想转人工智能、区块链这些热门领域的程序员,数据结构与算
法作为计算机的基础知识、核心知识,都是必须要掌握的。

掌握了数据结构与算法,你看待问题的深度,解决问题的角度就会完全不一样。因为这样的你,
就像是站在巨人的肩膀上,拿着生存利器行走世界。数据结构与算法,会为你的编程之路,甚至
人生之路打开一扇通往新世界的大门。


长期来看,大脑思考能力是个人最重要的核心竞争力,而算法是为数不多的能够有效训练大
脑思考能力的途径之一。


其实问题的所在就是现在有很多现成的框架,器又大活又好,拿来就用,还不用太担心性能
的问题。就好像那些建楼的工程师不需要懂砖瓦的构成,也能盖楼。司机不需要懂汽车引擎
的原理,也能当顺风车司机载美女兜风。
遇到不会的上 Google,懒了就上 GitHub 找框架。所以写了这么多年代码,一直是个菜鸟。
或许是时候修炼自己的内功了。一直 CURD 有意思么?把设计模式,网络原理,数据结构和
算法捡起来,或许就没那么容易菜鸟了。怼人也更加自信了。跳槽也不用畏畏缩缩的了。



让天下人人学会人工智能!人工智能的前景一片大好!
回复

使用道具 举报

0

主题

94

帖子

203

积分

中级会员

Rank: 3Rank: 3

积分
203
沙发
发表于 2020-4-27 14:46:08 | 只看该作者
数据结构
回复

使用道具 举报

0

主题

94

帖子

203

积分

中级会员

Rank: 3Rank: 3

积分
203
板凳
发表于 2020-4-27 14:46:30 | 只看该作者
数据结构
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|人工智能工程师的摇篮 ( 湘ICP备2020019608号-1 )

GMT+8, 2024-5-17 16:06 , Processed in 0.167360 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表