问题规模与时间复杂度

背景简述

  当代计算机,以O(n)的复杂度计,若要求1s内完成计算, 则循环次数最多不超过107次。

数据规模与时间复杂度的对应关系

时间复杂度 数据规模
O ( n ) O(n) O(n) 107
O ( n 2 ) O(n^2) O(n2) 3000
O ( n l o g n ) O(nlogn) O(nlogn) 106
O ( f ( n ) ) O(f(n)) O(f(n)) f − 1 ( 1 0 7 ) f^{-1}(10^7) f1(107)

注:1. 时间复杂度中 l o g   n log\ n log n默认以2为底,即 l o g 2   n log_2\ n log2 n

  2. 已知时间复杂度求解最大数据规模时,令 f ( n ) = 1 0 7 f(n)=10^7 f(n)=107反解 n n n值即可。

例题

题目来源为2019年09月第十七次CSP认证第一题:
在这里插入图片描述
  由问题描述知,最简单思路为遍历所有元素即 a i j a_{ij} aij,由9、10号测试点知,数据规模为106,此时使用 O ( n ) O(n) O(n)复杂度的算法可行,而 O ( n 2 ) O(n^2) O(n2)不可行。

猜你喜欢

转载自blog.csdn.net/m0_46161993/article/details/108159445