1.1.2 算法的作用

在计算机领域,算法被称为程序的灵魂,图灵奖获得者尼古拉斯·沃斯提出了如下著名的公式:算法+数据结构=程序。如图1.2所示,为了解决现实生活中的问题,人们想要借助计算机去完成,而计算机语言就是人类和计算机之间沟通的工具,程序是由使用者用某种计算机语言编写的一组有序指令的集合,计算机根据程序并按照步骤逐步执行每一条指令。在程序设计过程中,我们需要考虑两方面的问题:一方面是数据结构设计,主要关注待处理数据的存储方式和数据之间关系的组织问题;另一方面是算法设计,主要关注解决问题的思路,提出解决问题的一系列步骤。两者之间是密切相关的,算法设计要在结合具体数据结构的基础上才能设计出解决问题的正确算法。

图1.2 计算机求解问题的过程