1.1.5 算法设计的步骤
算法设计的步骤如图1.4所示,包括理解和分析问题、选择数据结构、设计算法策略、描述算法、验证算法、分析算法效率和编写程序实现,各步骤之间紧密相连,存在循环反复的过程。
(1)理解和分析问题。在设计算法之前,首先要深入分析问题,明确求解问题的要求和算法实现的功能目标,预测可能输入的数据,确定输出的结果。
(2)选择数据结构。理清算法涉及的数据之间的关系,选择和设计数据的逻辑结构与存储结构。
(3)设计算法策略。算法设计有几类常用的算法策略,例如穷举法、分治法、贪心法和动态规划法等,各类算法的特性和适用情况有所不同,在此基础上结合前面对问题的分析结果,选择适当的算法策略。
(4)描述算法。选取适当的描述方法对算法进行描述,要清晰、准确且完整地对算法的各个步骤进行详细描述。

图1.4 算法设计的步骤
(5)验证算法。一般而言,计算机中常用的算法策略都是经过验证的,也是比较成熟的算法策略,所以在设计算法的时候尽量选取这些算法。如果在设计过程中使用其他新的算法,就需要运用数学方法进行证明,因而需要耗费一些时间。如果无法证实算法的正确性,就要重新修正算法。
(6)分析算法效率。对于同一问题来说,求解的算法可能有很多种。此时就需要对算法进行分析,主要围绕两个方面展开分析,一是时间复杂度分析,二是空间复杂度分析,然后根据分析结果不断优化算法。
(7)编写程序实现。选择计算机语言根据算法编写程序,实现算法。