算法复杂度

2020-06-18  本文已影响0人  果果_Zhen

复杂度通常包括时间复杂度和空间复杂度。在具体计算复杂度时需要注意以下几点。

1、它与具体的常系数无关,O(n) 和 O(2n) 表示的是同样的复杂度。

2、复杂度相加的时候,选择高者作为结果,也就是说 O(n²)+O(n) 和 O(n²) 表示的是同样的复杂度。

3、O(1) 也是表示一个特殊复杂度,即任务与算例个数 n 无关。

复杂度细分为时间复杂度和空间复杂度,其中时间复杂度与代码的结构设计高度相关;空间复杂度与代码中数据结构的选择高度相关。


经验性的结论:

1、一个顺序结构的代码,时间复杂度是 O(1)。

2、二分查找,或者更通用地说是采用分而治之的二分策略,时间复杂度都是 O(logn)。

3、一个简单的 for 循环,时间复杂度是 O(n)。

4、两个顺序执行的 for 循环,时间复杂度是 O(n)+O(n)=O(2n),其实也是 O(n)。

5、两个嵌套的 for 循环,时间复杂度是 O(n²)。

上一篇 下一篇

猜你喜欢

热点阅读