我正在读“思考Python:如何像计算机科学家一样思考”,作者说算法是:
解决一类问题的一般过程。
但我不知道这是否是算法的正确定义。难道不是一种解决特定问题的算法吗,找出一个数字是否为奇数或偶数,例如?
注:我是一个爱好者和初学者。
发布于 2016-05-06 13:05:28
一般的过程是在不同的输入上工作的东西。
以奇数或偶数为例。
如果我检查数字输入是否为1,则输出奇数。这不是一个一般的过程。它只适用于一个非常具体的输入。
如果我检查输入的模数2,我将有一个一般的过程,因为它将对所有整数作为输入。这是一种算法。
但它只解决了一个问题,而不是一个完整的范畴?
一类问题可以是单个问题,也可以是一组问题。没有理由用不同的术语来解决一个问题,而不是一类问题。
发布于 2016-05-06 16:37:39
我认为维基百科和数学百科全书对算法的定义是相辅相成的。
定义计算过程的详细指令(然后被称为算法),它以任意输入(从给定算法可能的一定数目的输入)开始,并以旨在获得完全由输入确定的结果(或输出)的指令开始。
https://www.encyclopediaofmath.org/index.php/Algorithm
“在数学和计算机科学中,算法是一组独立的、一步一步的操作。算法执行计算、数据处理和/或自动推理任务。“
https://en.wikipedia.org/wiki/Algorithm
隐喻地说,一个算法就像一种烤蛋糕的方法。原料(输入)的数量可能会有所不同,从而改变蛋糕(输出)的大小。然而,面团的制备方法是一样的,它是一套步骤,以组合的成分,以准备面团。
发布于 2016-05-06 15:41:12
这是一类问题:
这些都是这一类的具体问题:
[4, 3, 1, 8]”。[1]”。[]”。单词类别仅仅意味着一些细节是可变的,因此实际上有许多(可能无限多)特定的问题,这个过程可以解决。
https://softwareengineering.stackexchange.com/questions/317710
复制相似问题