二分法時間復雜度計算


https://blog.csdn.net/heihu_malice7/article/details/90042912

1.例如二分查找

總共有n個元素,每次查找的區間大小就是n,n/2,n/4,…,n/2^k(接下來操作元素的剩余個數),其中k就是循環的次數。 

//k在遞歸的時候也可以說是遞歸的深度

由於n/2^k取整后>=1,即令n/2^k=1, 

可得k=log2n,(是以2為底,n的對數),所以時間復雜度可以表示O()=O(logn)。

總結一下就是:

二分法的關鍵思想是   假設該數組的長度是N那么二分后是N/2,再二分后是N/4……直到二分到1結束(當然這是屬於最壞的情況了,即每次找到的那個中點數都不是我們要找的),那么二分的次數就是基本語句執行的次數,於是我們可以設次數為x,N*(1/2)^x=1;則x=logn,底數是2。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM