语句频度:设 n
为求解的问题的规模,基本操作(或语句)执行次数总和称为语句频度,记做f(n)
。
时间复杂度:算法(或程序)中基本操作(或语句)重复执行的次数总和称为时间复杂度,记做T(n)
,且有T(n) = O(f(n)) 。
求时间复杂度步骤:
1. 去掉f(n)
中所有加法常数
2. 只保留最高阶项
举例:
function plus1(num){
console.log(num); // 1
num++ // 1
console.log(num); // 1
}
语句频度: f(n) = 1 + 1 + 1 = 3
时间复杂度:T(n) = O(f(n)) = O(3) = O(1)
O(1)称为常量数量级
function sum(arr){
var s = 0; // 1
var l = arr.length // 1
for(var i = 0; i < l; i++){
// n
s += arr[i]; // n
}
console