算法的重要特性有哪些呢?
发布网友
发布时间:2022-04-02 21:53
我来回答
共3个回答
懂视网
时间:2022-04-03 02:14
算法的特征有:
1、有穷性(Finiteness),算法的有穷性是指算法必须能在执行有限个步骤之后终止;
2、确切性(Definiteness),算法的每一步骤必须有确切的定义;
3、输入项(Input),一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4、输出项(Output),一个算法有一个或多个输出,以反映对输入数据加工后的结果,没有输出的算法是毫无意义的;
5、可行性(Effectiveness),算法中执行的任何计算步骤都是可以被分解为基本的可执行的操作步,即每个计算步都可以在有限时间内完成(也称之为有效性)。
热心网友
时间:2022-04-02 23:22
算法的五个重要的特征:确定性、可行性、输入、输出、有穷性/有限性。
算法是解决“做什么”和“怎么做”的问题。解决一个问题可能有多种不同的算法,从效率上考虑,其中最为核心的还是算法的速度。因此,解决问题的步骤需要在有限的时间内完成,并且操作步骤中不可以有歧义性语句,以免后继步骤无法继续进行下去。通过对算法概念的分析,可以总结出一个算法必须满足如下 5个特性。
(1)有穷性。一个算法在执行有限步骤后,在有限时间内能够实现的,就称该算法具有有穷性。
有的算法在理论上满足有穷性,在有限的步骤后能够完成,但是计算机可能实际上会执行一天、一年、十年等等。算法的核心就是速度,那么这个算法也就没有意义了。总而言之,有穷性没有特定的限度,取决于人们的需要。
(2)确定性。算法中每一个步骤的表述都应该是确定的、没有歧义的语句。在人们的日常生活中,遇到歧义性语句,可以根据常识、语境等理解,然而还有可能理解错误。计算机不比人脑,不会根据算法的意义来揣测每一个步骤的意思,所以算法的每一步都要有确定的含义。
(3)有零个或多个输入。程序中的算法和数据是相互联系的。算法中,需要输入的是数据的量值。输入可以是多个也可以是零个。其实,零个输入并不是这个算法没有输入,而是这个输入没有直观地显现出来,隐藏在算法本身当中。
(4)有一个输出或多个输出。输出就是算法实现所得到的结果,是算法经过数据加工处理后得到的结果。有的算法输出的是数值,有的是图形,有的输出并不是那么显而易见。没有输出的算法是没有意义的。
(5)可行性。算法的可行性就是指每一个步骤都能够有效地执行,并得到确定的结果,而且能够用来方便地解决一类问题。
热心网友
时间:2022-04-03 00:40
一个算法必须具备以下性质:
(1)算法首先必须是正确的,即对于任意的一组输入,包括合理的输入与不合理的输入,总能得到预期的输出。如果一个算法只是对合理的输入才能得到预期的输出,而在异常情况下却无法预料输出的结果,那么它就不是正确的。
(2)算法必须是由一系列具体步骤组成的,并且每一步都能够被计算机所理解和执行,而不是抽象和模糊的概念。
(3)每个步骤都有确定的执行顺序,即上一步在哪里;下一步是什么,都必须明确,无二义性。
(4)无论算法有多么复杂,都必须在有限步之后结束并终止运行;即算法的步骤必须是有限的。在任何情况下,算法都不能陷入无限循环中。
一个问题的解决方案可以有多种表达方式;但只有满足以上4个条件的解才能称之为算法。