Fork me on GitHub

算法之时间复杂度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>

传送门百度百科

posted @ 2017-03-31 23:05  小数点就是问题  阅读(863)  评论(0编辑  收藏  举报