Python数据结构与算法(视频教学版)
上QQ阅读APP看书,第一时间看更新

1.5.4 算法的描述

算法的描述方式有多种,如自然语言、伪代码(或称为类语言)、程序流程图及程序设计语言(如Python、C、Java、C++)等。其中,自然语言描述可以是汉语或英语等文字描述;伪代码形式类似于程序设计语言形式,但是不能直接运行;程序流程图的优点是直观,但是不易直接转化为可运行的程序;采用程序设计语言描述算法,就是直接利用像Python、C、C++、Java等语言来表述,优点是可以直接在计算机上运行。

例如,判断正整数m是否为质数,算法可用以下几种方式描述。

1.自然语言描述法

利用自然语言描述“判断m是否为质数”的算法如下:

①输入正整数m,令i=2。

②如果,则令m对i求余,将余数送入中间变量r;否则输出“m是质数”,算法结束。

③判断r是否为零。如果为零,输出“m不是质数”,算法结束;如果r不为零,则令i增加1,转到步骤②执行。

2.程序流程图法

图1.11 判断m是否为质数的程序流程图

判断m是否为质数的程序流程图如图1.11所示。不难看出,采用自然语言描述算法直观性和可读性不强;采用程序流程图描述算法比较直观,可读性好,缺点是不能直接转化为计算机程序,移植性不好。

3.类语言法

类C语言描述如下:

4.程序设计语言法

C语言描述如下:

Python语言描述如下:

可以看出,类语言的描述除了没有变量的定义,输入和输出的写法之外,与程序设计语言的描述的差别不大,类语言的描述可以直接转化为可以直接运行的计算机程序。

本书所有算法均采用Python语言描述,所有程序均可直接上机运行。