按照自顶向下逐步求精的原则,在研究运算步骤时,首先考虑算法顶层的运算步骤,然后再考虑底层的运算步骤。顶层的运算步骤是指定义在数据模型级上的运算步骤,或者叫宏观运算,它们组成算法的主干部分。表达顶层运算步骤这部分算法的程序就是主程序,其中涉及的数据是数据模型中的一个变量,暂时不关心它的数据结构;涉及的运算以数据模型中的数据变量作为运算对象,或作为运算结果,或二者兼而有之。底层的运算步骤是指顶层抽象的运算的具体实现。它们依赖于数据模型的结构,是顶层运算的细化。顶层算法每个组成步骤可以看作是一个标准子程序模块,每个子程序可以有多个不同的底层算法实现。