时间复杂度分析
Posted liugangjiayou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了时间复杂度分析相关的知识,希望对你有一定的参考价值。
时间复杂度分析
大O表示法
- O(1): Constant Complexity 常数复杂度
int n = 1000;
System.out.println("Hey - your input is: " + n);
int n = 1000;
System.out.println("Hey - your input is: " + n);
System.out.println("Hmm.. I'm doing more stuff with: " + n);
System.out.println("And more: " + n);
- O(log n): Logarithmic Complexity 对数复杂度
for (int i = 1; i < n; i = i * 2)
{
System.out.println("Hey - I'm busy looking at: " + i);
}
- O(n): Linear Complexity 线性时间复杂度
for (int i = 1; i <= n; i++)
{
System.out.println("Hey - I'm busy looking at: " + i);
}
- O(n^2): N square Complexity 平方
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <=n; j++)
{
System.out.println("Hey - I'm busy looking at: " + i + " and " + j);
}
}
- O(2^n): Exponential Growth 指数
int fib(int n)
{
if (n <= 2)
return n;
return fib(n - 1) + fib(n - 2);
}
- O(n!): Factorial 阶乘
注意:只看最高复杂度的运算
以上是关于时间复杂度分析的主要内容,如果未能解决你的问题,请参考以下文章
代码片段使用复杂的 JavaScript 在 UIWebView 中插入 HTML?
Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段