前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >什么是算法

什么是算法

作者头像
刀刀老高
发布2018-04-11 11:03:48
8140
发布2018-04-11 11:03:48
举报
文章被收录于专栏:奇点大数据奇点大数据

算法这个名称大家应该通常不陌生,如果你是一个信息相关专业的本科学生,至少在本科一年级或者二年级就接触过不少算法了。随便打开一个人力资源网站去搜搜看“算法工程师”,好的算法工程师的年薪也随便就到三五十万甚至上百万的都有的。

算法是什么?算法可以被理解成为“计算的方法和技巧”,在计算机中的算法大多数就是一些一段或者几段程序,告诉计算机用什么样的逻辑和步骤来处理数据和计算,然后得到处理的结果。

科班出身的信息相关专业的朋友看到这里就比较亲切了,经典的算法有很多,比如“冒泡排序”算法,这几乎是所有以高级语言为依托的《数据结构》的入门必学;再比如“八皇后问题”算法,这几乎也是我们在讲穷举计算时的经典保留算法案例;还有不少我们听说过的算法,比如MD5算法,ZIP2压缩算法等各种不胜枚举的算法。

应该说算法是数据加工的灵魂。如果说数据和信息是原始的食材,数据分析的结论是菜肴,那么算法就是烹调过程;如果说数据是玉璞,数据中蕴含的知识是价值连城的美碧,那么算法就是玉石打磨和加工的机床和工艺流程。

算法在高级语言发展了很多年之后,更多的被封装成了独立的函数或者独立的类,开放接口供人调用,然而算法封装地再好却是不能用纯粹不假思索地使用就能获益的东西,要知道,这些封装只是在一定程度上避免了我们重复发明轮子而已。

大家不要以为算法是算法工程师的事情,跟普通的程序员或者分析人员无关,算法说到底是对处理逻辑理解的问题。

《孙子兵法·作战篇》有云,“不尽知用兵之害者,则不能尽知用兵之利”,意思是说,不对用兵打仗的坏处与弊端进行充分了解的话同样不可能对用兵打仗的好处有足够的认识。算法的应用是一个辩证的过程,不仅在于不同算法间的比较和搭配使用有着辩证关系,在同一个算法中,不同的参数和阈值设置同样会带来大相径庭的结果,甚至影响数据解读的科学性。这一点请大家务必有所注意。

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

本文分享自 奇点 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档