滴水逆向联盟

标题: 算法的特性都有哪些 [打印本页]

作者: 夺命书生    时间: 2014-11-11 09:27
标题: 算法的特性都有哪些
每一个事物都有其组成的特性,那么算法都要求有哪些特性呢?


算法是解决  ”做什么“  和  “怎么做”   的问题。


解决一个问题可能 有很多种不同的算法,从效率上考虑,其中最为核心的还是算法的速度。


因此,解决问题的步骤需要在有限的时间内完成,并且操作步骤中不可以有歧义语性语句,


以免后继步骤无法继续进行下去,通过对算法概念的分析,可以总结出一个算法必须满足如下的5个特性。


1.有穷性(一个算法在执行有限的步骤以后,在有限的时间内能够实现,该算法就具有有穷性)


有的算法在理论上满足有穷性,在有限的步骤后能够完成,但是计算机可能实际上会执行  一天


一月 一年  等等,算法的核心就是速度,那么这个算法也就没有意义了,总而 言之有穷性,


么有特定的限度,而取决于需要。


2. 稳定性

算法中每一个步骤的表示都应该是确定的,没有歧义语句,在生活中遇到歧义语句,可以根据


常识,语境等理解,然而还有可能理解错误,计算机没有人脑那么智能,不会根据算法的意义


来揣测每一个步骤的意思,所以算法的每一步都需要有确定的含义。


3.有零个或多个输入,程序中的算法和数据是相互联系的,算法中,需要输入的是数据的量值,


输入可以是多个也可以是零个,其实,零个输入并不是这个算法没有输入,而是这个输入没有


直观的显现出来,隐藏在算法本身当中。


4.有一个输出,或多个输出,输出就是算法实现所得的结果,是算法经过加工处理后得出的结果,


有的算法是输出数值,有的算法是输出图形,有的输出并不是那么显而易见,没有输出的算法是


没有意义的。


5. 可行性,算法的可行性就是指每一个步骤都能够有效的执行,并且得到确定的结果,而且能够


用来方便地解决一类问题。



作者: OneTime    时间: 2014-11-11 11:13
了解学习一下
作者: 大灰狼    时间: 2014-11-13 09:05
嗯嗯,认真记下每一个学习的心得,终究我会成为大牛的:P




欢迎光临 滴水逆向联盟 (http://www.dtdebug.com/) Powered by Discuz! X3.2