首页 理论教育 算法的伪代码描述

算法的伪代码描述

时间:2022-02-11 理论教育 版权反馈
【摘要】:我们没有选用某种程序设计语言来描述算法,而是选择了用伪代码描述算法。类似 Java、C++以及LISP这样一些语言的使用者应该熟悉这些伪代码的绝大部分。因此,静态变量就如同全局变量一样,其生存期超过了对其所属函数的单一调用,但是只有在函数内部才是可访问的。本书中的智能体程序把静态变量用于“记忆”。除非明确申明,数组的第一个下标是1,如同通常的数学符号,而不像Java和C中那样从0开始。

B.2 算法的伪代码描述

本书中,我们详细定义了超过80个算法。我们没有选用某种程序设计语言来描述算法(这样要冒失去一部分对这种语言不熟悉的读者的风险),而是选择了用伪代码描述算法。类似 Java、C++以及LISP这样一些语言的使用者应该熟悉这些伪代码的绝大部分。在一些地方我们也使用数学公式或者普通的英语来描述一些用其它方式描述比较起来比较烦琐的部分。不过还有一些特性需要注明。

静态变量。我们使用关键字 static 来表示一个变量在函数第一次调用时得到其初始值,并且在所有对该函数的后续调用中都保持该值(或者其值被后续的赋值语句所改变)。因此,静态变量就如同全局变量一样,其生存期超过了对其所属函数的单一调用,但是只有在函数内部才是可访问的。本书中的智能体程序把静态变量用于“记忆”。在诸如Java和Smalltalk 这样的面向对象语言中,包含静态变量的程序可以作为“对象”而实现。在函数语言中,它们也可以通过在定义了所需变量的环境中的函数封装而实现。

作为变量值的函数。函数和过程使用大写名称,而变量则使用斜体小写名称。所以大部分情况下函数调用看起来类似于FN(x)。然而,我们允许变量的值是一个函数。例如,如果变量f的值是平方根函数,那么f (9)返回3。

数组下标从1起始。除非明确申明,数组的第一个下标是1,如同通常的数学符号,而不像Java和C中那样从0开始。

缩进是重要的。和在Python语言中一样,本书用缩进标识循环和条件的范围。这和Java以及C++(使用花括号),或者Pascal以及Visual Basic(使用关键字end)等都不太一样。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈