目录
数据结构的意义
- 数据量大:每天会有亿级数据产生,历史累计万亿级数据。
- 数据同时使用情况:用户量是百万级的,电商特殊抢购场景下,千亿级用户量同时使用。比如,大家抢同一件商品。
- 信息技术不断发展:CPU一次计算的时间是0.2ns~0.3ns,计算速度相当于每秒几十亿次。
- 数据结构的意义在于:合理规划数据,保证在大数据时代,在数据层面保持高速客观的数据操作(就是对数据的增删改查)。
常见的时间复杂度
时间复杂度概念:x>1,x足够大的时候,想要达成某个数据操作目的,所需要计算的次数就是时间复杂度
-
y = ax o(x) =>o(n)(常用,如:for循环)
-
y = ax+b o(x) =>o(n)
-
y = ax^2+bx o(x^2) =>o(n^2)(常用,如:两层for循环)
-
y = ax^2+bx+c o(x^2) =>o(n^2)
-
y = a o(1)
-
a^y(a是常量) = x => y =
X o(logx) =>o(logn)
-
时间复杂度大小关系大致:o(1)<o(logn)<o(n)<o(nlogn)<o(n^2)<o(n^3)<...
-
证明下o(logn)时间复杂度有多快,一万亿 = 10^12 = 10^4*10^8 = 10^3 * 10^3 * 10^3 * 10^3 <2^10 *2^10 * 2^10 * 2^10 = 2^40所以x=a^y-->x=2^40 --> y =