程序设计艺术第一卷(1)学习笔记

来源:互联网 发布:mac无法格式 化u盘日志 编辑:程序博客网 时间:2024/04/30 22:05

1.1 算法:

算法E(欧几里德算法) 给定两个正整数m和n,求他们的最大公因子,即能够同时整除m和n的最大正整数。

E0:[确保m>=n] 如果m<n,交换m<->n.

E1.[求余数] 以n除m并令r为所得余数。(0《= r < n)

E2.[余数为零?] 若r=0,算法结束,n即为答案。

E3.[减少] 置m<-n,n<-r,并返回步骤E1.

一个算法有五个重要特征:

1.有限性。一个算法在有限步骤之后必然要终止。

2.确定性。一个算法的每个步骤都必须精确的定义;要执行的动作每一步都必须严格地和无歧义的描述清楚。

3.输入。一个算法有零个或多个输入,此即在算法开始之前的最初赋给它的量,或者当算法运行时动态地赋给它的量。

4.输出。一个算法有一个或多个输出:和输入有特定关系的量。

5.有效性。它的所有的运算必须是基本的。