算法概述

夸张点说,如果有人因为说过一句话而被授予图灵奖计算机科学教育杰出贡献奖Emanual Piore奖计算机先驱奖,您是不是很惊讶!真的吗?

是真的,此人便是尼古拉斯·沃斯(Nicklaus Wirth) ,此话就是他提出的著名公式**“ 算法 + 数据结构 = 程序 ”。该公式对计算机科学的影响程度足以与经典物理学中爱因斯坦的质能方程式“E = MC^2 ”**相媲美,一个公式展示出了计算机程序的本质。

当然,如果说尼古拉斯·沃斯的贡献仅限于此,那么就显得非常狭隘了。因为他又被誉为Pascal语言之父,也是Algol、W、Modula、Modula-2、Oberon和Euler等语言的发明人和主设计师,还撰写了《系统程序设计导论》、《算法 数据结构=程序》、《算法和数据结构》等多部学术著作,此处就不做赘述了。

1、何谓算法

那么,究竟什么是算法(Algorithm)呢?

从字面上理解,即用于计算的方法,我们使用该方法可以获得预期的计算结果。

较为专业且被业界广泛认可的定义:算法是模型分析的一组可行的、确定的和有穷的规则

不论何种定义,通俗的讲,算法是针对待解决问题之解题方案的准确而完整的描述,即解题步骤,它代表着用系统的方法描述解决问题的策略机制。从计算机程序设计的角度看,它由一系列解决问题的清晰指令构成,且能够根据规范的输入,在有限时间内获得所要求的输出。

问题不同,算法可能不同

如果一个算法有缺陷,或者不适用于待解决问题,执行该算法将不会获得预期的计算结果,此问题也就不能被按要求解决。比如,我们开发一款LBS社交应用,根据上线用户的定位坐标,快速计算每个用户附近的人以作好友推荐。简

猜你喜欢

转载自blog.csdn.net/goldentec/article/details/104540980