算法和方法有什么区别

unj*_*nj2 19 algorithm methods

你如何区分算法和方法?为什么我们不称牛顿方法或福特 - 福克森方法算法?什么是良好算法的属性以及将方法作为算法的限定条件?

Pet*_*ham 23

算法以有限的步骤终止.

除了可能缺乏有限性之外,具有算法的所有特征的过程可以被称为计算方法.Euclid最初不仅提出了一个最大公数除数的算法,而且还提出了一个非常相似的几何结构,用于两个线段长度的"最大公共度量"; 这是一种计算方法,如果给定的长度不可通约,则不会终止. - D.Knuth,TAOCP第1卷,基本概念:算法

Newton Raphson方法不能保证收敛,也不能检测收敛失败.如果您使用收敛检测和终止在有限的epsilon上或在有限数量的步骤之后将方法包装起来,您将得到一个算法.


mqp*_*mqp 7

术语"方法"与"牛顿方法"和"算法"之间没有技术差异.

编辑:反思,也许Pete是正确的,算法终止,方法可能没有(我是谁与Knuth争论?)但是,我不认为大多数人只会根据你使用一个词或另一个.

  • 这些术语可以与某些人互换 - 使用*算法*来指代非有限的步骤序列,他们不会注意或关心.其他*会*关心,所以我建议*不*使用这些术语可互换.将算法视为方法的子集更安全.这样,您就可以与每个人进行有效沟通,而不仅仅是那些不做任何区分的人. (2认同)

unj*_*nj2 -1

关于 Ford-Faulkerson 方法,CLRS 将其称为方法而不是算法,因为“它包含具有不同运行时间的多种实现”[第 651 页,第 2 版]