TA的每日心情 | 怒 2014-12-12 07:01 |
---|
签到天数: 8 天 [LV.3]偶尔看看II
逆向联盟VIP会员
   
- 积分
- 344
|
每一个事物都有其组成的特性,那么算法都要求有哪些特性呢?
算法是解决 ”做什么“ 和 “怎么做” 的问题。
解决一个问题可能 有很多种不同的算法,从效率上考虑,其中最为核心的还是算法的速度。
因此,解决问题的步骤需要在有限的时间内完成,并且操作步骤中不可以有歧义语性语句,
以免后继步骤无法继续进行下去,通过对算法概念的分析,可以总结出一个算法必须满足如下的5个特性。
1.有穷性(一个算法在执行有限的步骤以后,在有限的时间内能够实现,该算法就具有有穷性)
有的算法在理论上满足有穷性,在有限的步骤后能够完成,但是计算机可能实际上会执行 一天
一月 一年 等等,算法的核心就是速度,那么这个算法也就没有意义了,总而 言之有穷性,
么有特定的限度,而取决于需要。
2. 稳定性
算法中每一个步骤的表示都应该是确定的,没有歧义语句,在生活中遇到歧义语句,可以根据
常识,语境等理解,然而还有可能理解错误,计算机没有人脑那么智能,不会根据算法的意义
来揣测每一个步骤的意思,所以算法的每一步都需要有确定的含义。
3.有零个或多个输入,程序中的算法和数据是相互联系的,算法中,需要输入的是数据的量值,
输入可以是多个也可以是零个,其实,零个输入并不是这个算法没有输入,而是这个输入没有
直观的显现出来,隐藏在算法本身当中。
4.有一个输出,或多个输出,输出就是算法实现所得的结果,是算法经过加工处理后得出的结果,
有的算法是输出数值,有的算法是输出图形,有的输出并不是那么显而易见,没有输出的算法是
没有意义的。
5. 可行性,算法的可行性就是指每一个步骤都能够有效的执行,并且得到确定的结果,而且能够
用来方便地解决一类问题。
|
|