一个好的算法应该具备哪些特征?

 我来答
福瑞宜数智
2023-01-17 · 专注于数据采集、分析与挖掘服务的百家号
福瑞宜数智
向TA提问
展开全部

一个好的算法应该具备以下特征:

  • 正确性:算法应该正确地解决问题,并且没有明显的错误。

  • 易于理解:算法应该清晰明了,容易理解,易于实现和调试。

  • 可证明性:算法应该有明确的证明,证明其正确性和最优性。

  • 效率:算法应该具有较高的效率,能够在可接受的时间内完成计算。

  • 稳定性:算法的结果应该稳定,不会随着数据的变化而变化。

  • 适用性:算法应该适用于不同的数据类型和规模

  • 可扩展性:算法应该具有可扩展性,能够适应不断增长的数据量。


                                   

纵横竖屏
2022-12-22 · TA获得超过46.7万个赞
知道小有建树答主
回答量:164
采纳率:93%
帮助的人:7.8万
展开全部

一个算法应该具有以下五个重要的特征:

1,有穷性(Finiteness):算法的有穷性是指算法必须能在执行有限个步骤之后终止;

2,确切性(Definiteness):算法的每一步骤必须有确切的定义;

3,输入项(Input):一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;

4,输出项(Output):一个算法有一个或多个输出,以反映对输入数据加工后的结果。没有输出的算法是毫无意义的;

5,可行性(Effectiveness):算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。


扩展资料:

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。如果一个算法有缺陷,或不适合于某个问题,执行这个算法将不会解决这个问题。

不同的算法可能用不同的时间、空间或效率来完成同样的任务。一个算法的优劣可以用空间复杂度与时间复杂度来衡量。

算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。

一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。

形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形。

这些尝试包括库尔特·哥德尔、Jacques Herbrand和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的递归函数,阿隆佐·邱奇于1936年提出的λ演算,1936年Emil Leon Post的Formulation 1和艾伦·图灵1937年提出的图灵机。

即使在当前,依然常有直觉想法难以定义为形式化算法的情况。

参考资料:百度百科----算法

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式