程序员该如何学习数据结构与算法?

一个成熟的程序员数据结构和算法属于基本必备素质,很多程序员觉得算法距离自己有点距离,正常情况下算法不是渗透到每个角落。但程序的执行效率散布在每个角落。所以学习数据结构和算法能让效率的执行贯彻到每个角落里面,优秀的程序员会反复的揣摩自己写代码执行效率,以及代码的耐久程度,这点经常玩开源社区的小伙伴应该有启示,之前订阅过linux内核以及浏览器内核邮件每天邮件数量成千上万,不仅仅为了给软件增加新的功能,更多的是对软件代码的重构,觉得之前的代码实现效果不如想象的样子,于是推到重来继续搞,觉得还不过瘾,继续重构直到达到实际效果为准,这里面包含着一种内在的求知欲。

程序员具体什么情况下使用数据结构或者算法?

1.单纯意义上的算法并不是实时出现在程序中,绝大部分模块功能对于算法要求不是那么细致,算法主要出现在影响效率的地方,举个例子在搞浏览器的时候需要增加一个广告过滤的功能,要过滤掉一些网站广告就需要增加一些广告的网址,然后这些网址放在一个文件里面,如果只有几十条记录这种效率影响很小,但如果是几百条或者上千条这个效率影响就非常大了,如果单纯采用穷举法不是不行,效率就真的非常低了。

2.纯正的算法在某些领域属于常态,3D游戏,ai领域对于算法需求无处不在,人工智能这块专门有个职位叫算法工程师,而且薪水待遇比起普通的程序员还要高不少,毕竟物以稀为贵,头条里面的智能推荐算法,会有专门的算法工程师支撑这块业务。

3.程序员在构思模块设计的时候,其实数据逻辑都是围绕数据结构展开,数据结构完成了代码逻辑差不多也就完成了,数据结构里面的每个数值如何传递,如何处理这条线路走通了整个设计逻辑框架也就出来了。

有一本专门涉及到算法是书籍,《算法导论》值得学习看下,里面列举了很多常用的算法,有兴趣的可以去研究看下,不能只是研究需要把算法对应到代码去看,学以致用。

图片来自互联网如有侵权请联系小编立即删除

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2018-10-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏哲学驱动设计

学习过程反思

    本篇反思总结了一般的学习过程。掌握学习的方法,可以让你更高效地进行学习。这对于天天要学新技术的IT人员来说,是非常重要的。     本文反思了自己学习W...

205110
来自专栏程序员维他命

《如何有效整理信息》- 读书笔记

本书作者(奥野宣之)介绍了一个关于整理笔记的方法:“一元笔记法”。该方法摒弃了将笔记进行分类整理的方式,而是采用了一元化的方案:不采用分类记录的方式,而是将所有...

76020
来自专栏大数据挖掘DT机器学习

一则小故事看产品数据分析

网上有个故事很有趣,说3个人去投宿,一晚30元.三个人每人掏了10元凑够30元交给了老板. 後来老板说今天优惠只要25元就够了,拿出5元命令服务生退还给他们, ...

31050
来自专栏一个爱吃西瓜的程序员

成为一名数据分析师,应该掌握怎样的技术栈?

数据分析师是不易被人工智能取代的新兴职业,相比算法工程师、人工智能工程师而言比较好入门。学好数据分析,也可为进一步的数据科学、机器学习打下一定的基础。 最近我知...

51360
来自专栏编程坑太多

打字速度对编程的影响大吗?

8420
来自专栏鹅厂网事

弹性服务器架构-连接一切的力量

一颗芯片,寄存器通过总线向运算器输送数据。一台服务器,内存通过DDR总线与处理器完成数据互动。一个数据中心,存储集群通过以太网与计算集群形成对数据流的处理和加工...

7.6K110
来自专栏Web项目聚集地

「长文预警」云计算、人工智能、大数据到底是啥玩意?

我今天要讲这三个话题,一个是云计算,一个大数据,一个人工智能,我为什么要讲这三个东西呢?因为这三个东西现在非常非常的火,它们之间好像互相有关系,一般谈云计算的时...

15720
来自专栏SDNLAB

ONOS构建开源Leaf-Spine Fabric

On.Lab ONOS项目组领导下的一个工作组近日发布了一个开源的leaf-spine fabric架构,以期进一步推动开放网络的发展。 开放网络基金会(ONF...

388160
来自专栏无原型不设计

这样的UX设计师简历,HR分分钟给你来电话

BLS调查显示,软件开发和IT,用户体验设计,产品经理和项目管理这三个职位在未来有非凡的发展前景。其中,用户体验设计师是目前最有需求的创意产业工作之一。10年...

36660
来自专栏AI研习社

硅谷老司机 Siraj 教你找工作:简历写得好,工作跑不了

大家好,这里是 Siraj 的新课,在教你如何成为一名自由职业者之后,我又将和大家分享如何写一份优秀的简历,来申请有关机器学习或者数据科学的职位。

12510

扫码关注云+社区

领取腾讯云代金券