首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“解决一类问题的一般过程”是算法的正确定义吗?

“解决一类问题的一般过程”是算法的正确定义吗?
EN

Software Engineering用户
提问于 2016-05-06 12:40:02
回答 4查看 988关注 0票数 1

我正在读“思考Python:如何像计算机科学家一样思考”,作者说算法是:

解决一类问题的一般过程。

但我不知道这是否是算法的正确定义。难道不是一种解决特定问题的算法吗,找出一个数字是否为奇数或偶数,例如?

注:我是一个爱好者和初学者。

EN

回答 4

Software Engineering用户

回答已采纳

发布于 2016-05-06 13:05:28

一般的过程是在不同的输入上工作的东西。

以奇数或偶数为例。

如果我检查数字输入是否为1,则输出奇数。这不是一个一般的过程。它只适用于一个非常具体的输入。

如果我检查输入的模数2,我将有一个一般的过程,因为它将对所有整数作为输入。这是一种算法。

但它只解决了一个问题,而不是一个完整的范畴?

一类问题可以是单个问题,也可以是一组问题。没有理由用不同的术语来解决一个问题,而不是一类问题。

票数 4
EN

Software Engineering用户

发布于 2016-05-06 16:37:39

我认为维基百科和数学百科全书对算法的定义是相辅相成的。

定义计算过程的详细指令(然后被称为算法),它以任意输入(从给定算法可能的一定数目的输入)开始,并以旨在获得完全由输入确定的结果(或输出)的指令开始。

https://www.encyclopediaofmath.org/index.php/Algorithm

“在数学和计算机科学中,算法是一组独立的、一步一步的操作。算法执行计算、数据处理和/或自动推理任务。“

https://en.wikipedia.org/wiki/Algorithm

隐喻地说,一个算法就像一种烤蛋糕的方法。原料(输入)的数量可能会有所不同,从而改变蛋糕(输出)的大小。然而,面团的制备方法是一样的,它是一套步骤,以组合的成分,以准备面团。

票数 3
EN

Software Engineering用户

发布于 2016-05-06 15:41:12

这是一类问题:

  • “对整数序列排序”。

这些都是这一类的具体问题:

  • “排序序列[4, 3, 1, 8]”。
  • “排序序列[1]”。
  • “排序序列[]”。

单词类别仅仅意味着一些细节是可变的,因此实际上有许多(可能无限多)特定的问题,这个过程可以解决。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/317710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档