算法的时间复杂度 指运行算法所需的时间-----该算法中每条语句的执行时间之和。
算法时间复杂度记为O(f(n)),它表示随着问题规模n的增大,算法执 行时间的增长率和f(n)的增长率相同,称作算法的渐进复杂度,简称时间复 杂度。其中f(n)是问题规模n的某个函数。 O(1) :常量时间阶 O (n):线性时间阶 O(㏒n) :对数时间阶 O(n㏒n) :线性对数时间阶
空间复杂度 是指算法编写成程序后,在计算机中运行时所需存储空间大小的度 量。 记作: S(n)=O(f(n)) 其中: n为问题的规模(或大小) 程序运行所需的存储空间包括以下两部分: ⑴固定部分。这部分空间与所处理数据的大小和个数无关,主要包括 程序代码、常量、简单变量、定长成分的结构变量所占的空间。 ⑵可变部分。这部分空间大小与算法在某次执行中处理的特定数据的 大小和规模有关。例如100个数据元素的排序算法与1000个数据元素的排 序算法所需的存储空间显然是不同的。