算法的基本特征主要包括以下四个方面:
1、可行性:针对实际问题而设计的算法,执行后能够得到满意的结果。
2、确定性:算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。
3、有穷性:算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。
4、拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。
1、有穷性(有限性)。任何一种提出的解题方法都是在有限的 *** 作步骤内可以完成的。如果在有限的 *** 作步骤内完不成,得不到结果,这样的算法将无限的执行下去,永远不会停止。除非手动停止。例如 *** 作系统就不具有有穷性,它可以一直运行。
2、一个算法应该具有以下七个重要的特征:
1)有穷性(Finiteness)
算法的有穷性是指算法必须能在执行有限个步骤之后终止
2)确切性(Definiteness)
算法的每一步骤必须有确切的定义;
3)输入项(Input)
一个算法有0个或多个输入,以刻画运算对象的初始情况,所谓0个输入是指算法本身定出了初始条件;
4)输出项(Output)
一个算法有一个或多个输出,以反映对输入数据加工后的结果.没有输出的算法是毫无意义的;
5)可行性(Effectiveness)
算法中执行的任何计算步都是可以被分解为基本的可执行的 *** 作步,即每个计算步都可以在有限时间内完成;
6) 高效性(High efficiency)
执行速度快,占用资源少;
7) 健壮性(Robustness)
健壮性又称鲁棒性,是指软件对于规范要求以外的输入情况的处理能力。所谓健壮的系统是指对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。
算法的有穷性是指算法程序的运行时间是有限的。一个算法必须总是(对任何合法的输入值)在执行有穷步之后结束,且每一步都可在有穷时间内完成。
像平时写了一个死循环,这就不满足算法要求。还有这个有穷性不一定是理论的有穷,假如一个算法执行10年才会结束,那么在大多数情况下这个算法的意义也不大。
扩展资料:
算法设计的要求
1、正确性:算法的正确性是指算法至少应该具有输入,输出和加工处理无歧义性,能正确反映问题的需求,能够得道为题的正确答案。
2、可读性:算法设计的另一目的是为了便于阅读,理解和交流。
3、健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其妙的结果。
4、时间效率高和存储量低:也就是我们平时说的时间复杂度和空间复杂度。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)