<center>算法的基本概念</center>
注:本文为学习《C语言从入门到精通》时,对部分章节的总结
1、算法的特性
(1)、有穷性
一个算法必须在执行有穷步之后结束,且每一步都可在又穷时间内完成,不能无限的执行下去。
(2)、确定性
算法的每一个步骤都应当是确切定义的,对于每一个过程不能有二义性,必须对将要执行的每个动作作出严格而清楚的规定。
(3)、可行性
算法中的每一步都应当能有效地运行,也就是说算法是可执行的,并要求最终得到正确的结果。
(4)、输入
一个算法应有零个或多个输入,输入是在执行算法是需要从外界取得的一些必要的信息。
(5)、输出
一个算法有一个或多个输出。
2、算法的优劣
算法的好坏,有以下几个方面分析。
(1)、正确性
正确性食指所写的算法应能安祖具体问题的要求,即对任何合法的输入,都会得到正确的结果。
(2)、可读性
发酸被写好后,被理解的容易难度。
(3)、健壮性
当输入的数据非法时,算法会作出相应判断,而不会因为输入的错误造成瘫痪。
(4)、时间复杂度和空间复杂度
时间复杂度:算法运行所需要的时间。
空间复杂度:算法运行所需要的存储空间的多少。