[英]time complexity of binary search using master theorem and also the recurrence relation of the same
什么是主定理? 使用該定理得出的二分查找的時間復雜度如何? 我想知道這個話題的確切解釋。 先感謝您!
主定理提供了一種明確的方法來確定各種具有大θ符號的分而治之算法的運行時間(給出最壞情況運行時間的嚴格上限和下限)。 許多分治算法在大小為 n 的輸入上的運行時間可以用遞歸方程 T(n) 來表示。 假設我們有:
現在,還考慮一個關鍵的 function:n^(log_b(a)),即 n 的 a 的 log base b 的冪。 給定遞歸方程,您可以計算出這是什么,因為您知道 a 和 b 是什么。
主定理本質上說:
請注意,並非所有分治算法都有運行時間,對於某些a 、 b和f(n) ,它們可以以這種形式放置,但其中很多都可以 - 包括二進制搜索。
二進制搜索接受大小為 n 的輸入,花費恆定數量的非遞歸開銷來比較中間元素和搜索到的元素,將原始輸入分成兩半,並且僅在數組的一半上遞歸。 現在將其插入主定理,a=1,大小為 n/b 的子問題,其中 b=2,非遞歸開銷 f(n)=1。 計算臨界 function n^(log_b(a))= n^(log_2(1)) = n^0 = 1。所以,現在我們將 f(n)=1 與臨界 function n^(log_b(a) )=1。 它們是相等的,所以我們是主定理的情況 2。 因此,總運行時間與 n^(log_b(a))*logn=logn 成正比。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.