复杂度的计算问题汇总"/>
时间复杂度的计算问题汇总
写在前面,引用《大话数据结构》——“理解大O并不难,难的是对数列的一些相关运算,这更多的考察的是你的数学知识和能力。”
算法的时间复杂度:用来度量算法的运行时间,记作: T (n) = O (f (n))。 它表示随着 输入大小n 的增大,算法执行需要的时间的增长速度可以用 f (n) 来描述。
复杂度的大小
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
口诀:常对幂指阶
复杂度越小,则说明你的代码越好
时间复杂度简单来说就是估算指令执行了多少次。
method1(){System.out.println("祝你看了这篇文章"); //执行1次System.out.println("诸事顺利"); //执行1次System.out.println("万事如意"); //执行1次
}
// 1+1+1 = 3
method2(){for(int i=0;i<5;i++){ //i=0 执行1次;i<5 判断5+1次,等于5时判断后退出;i++ 执行5次System.out.println("好运连连"); //执行5次}
} //1+(5+1)+5+5 = 17
method3(int n){for(int i=0;i<n;i++){ //i=0 执行1次;i<n 执行n+1次;i++ 执行n次System.out.println("好运连连"); //执行n次,你会有n次好运哦}
} //1+(n+1)+n+n = 3n+2
method4(
更多推荐
时间复杂度的计算问题汇总
发布评论