The Art Of Computer Programming: 1.1

Table of Contents

1 Algorithm

1.1 算法的特性

算法除了是一套有限的规则 (Being a finite set of rules) 以外,还有以下的五个特性: css

  • 有限性 (Finiteness) :须要在有限的步骤内收敛结束。
  • 可定义性 (Definieness) :算法中的每一步骤必要要有精确的定义。
  • 输入 (input) :有 0 或者多数输入
  • 输出 (output) :有 1 或者多个输出
  • 有效性 (Effectiveness) :算法一般是有效的。

1.2 例子

ea.png

Figure 1: Euclid's alrogithmjava

Lisp code: git

(defun ea (m n)
  "Euclid's algorithm"
  (interactive)
  (let ((r (% m n)))
    (if (= r 0)
        n
      (ea n r))))