算法效率的度量,是评价算法优劣的重要依据。一个算法的复杂性的高低体现在运行该算法所需要的计算机资源的多少上面,所需的资源越多,我们就说该算法的复杂性越高;反之,所需的资源越低,则该算法的复杂性越低。
算法复杂性是算法运行所需要的计算机资源的量,
需要时间资源的量称为时间复杂性,需要的空间资源的
量称为空间复杂性。这个量应该只依赖于算法要解的问
题的规模、算法的输入和算法本身的函数。如果分别用
N、I和A表示算法要解问题的规模、算法的输入和算法
本身,而且用C表示复杂性,那么,应该有C=F(N,I,A)。
一般把时间复杂性和空间复杂性分开,并分别用T和S来
表示,则有: T=T(N,I)和S=S(N,I) 。