算法之时间复杂度O(n^3)
时间复杂度是检测一个算法或者一个性能好坏的重要因数。
其他它没有什么神奇的,只是一个名词而已。
O(n^3) -> O(n^2) -> O(n)
从左到右,时间复杂度越来越小,越小性能越好。
它们成正比
例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <p id="p"></p> <button id="btn">click</button> <script> /*最简单的O(n^3),就看有多少层嵌套循环,3位O(n^3) 主要看时间差 这里三个循环是两个的30倍,两个是一个的30倍 */ var oP=document.getElementById("#p"); function abc(n){ p.innerHTML=n; } function s(){ var t1,t2,n; n=7; var n1=n*n; t1=Date.now(); for(var i=0;i<n1;i++){ abc(i); for(var j=0;j<n1;j++){ for(var k=0;k<n1;k++){ abc(n); } } } t2=Date.now(); console.log(t2-t1); } document.querySelector("#btn").onclick=s; </script> </body> </html>
传送门百度百科