Algorithm Complexity(算法复杂度)

算 法 复 杂 度

 

算法复杂度

 

时间复杂度

执行算法所需要的计算工作量

是一个函数定量描述了该算法的运行时间

T(n)=O(f(n))

算法的基本操作重复执行的次数是模块n的某一个函数f(n)

随着模块n的增大,算法执行的时间的增长率和 f(n) 的增长率成正比,所以 f(n) 越小,算法的时间复杂度越低,算法的效率越高。

空间复杂度

空间复杂度是指执行这个算法所需要的内存空间

固定部分

这部分空间的大小与输入/输出的数据的个数多少、数值无关。主要包括指令空间(即代码空间)、数据空间(常量、简单变量)等所占的空间。这部分属于静态空间。

可变空间

这部分空间的主要包括动态分配的空间,以及递归栈所需的空间等。这部分的空间大小与算法有关。

 

S(n)=O(f(n))

其中n为问题的规模,

一个算法所需的存储空间用f(n)表示。

S(n)表示空间复杂度

 

 

你可能感兴趣的:(C++)