二分查詢與三分查詢演算法 C

2022-05-01 07:57:07 字數 333 閱讀 6761

首先是二分查詢法,時間複雜度o(2log2(n)):

static bool find(int sortedarray, int number)

return false;

}然後是三分查詢演算法,時間複雜度o(3log3(n)):

static bool find(int sortedarray, int number)

else

return true;

}return false;

}對比可以發現,三分查詢演算法的時間複雜度要比二分查詢演算法的時間複雜度低,但是實際上效率並沒有二分查詢演算法高,因此我們不能過於迷信乙個演算法的時間複雜度。

二分查詢,三分查詢

今天看分治法那塊,裡面提到了二分搜尋,想想好多年沒寫這個簡單的程式了,話說當年第乙個真正意義上理解的是三分查詢,即二分搜尋的拓展,所以根據分治法的思想,重新寫了二分搜尋,三分搜尋這兩個程式,突然回憶起來,當初對m l r 2,竟一點沒有懷疑過,那些分割點是怎麼求出來的,要提醒像我一樣初寫程式的朋友,...

二分與三分查詢

一 二分查詢 二分查詢很常見了,放乙個模板就溜。時間複雜度 o logn log以2為底。最後得到的是可行域的閉區間 l,r while r l 二 三分查詢三分查詢用於查詢乙個凸 凹 函式的極值點。時間複雜度 o 2 logn log以3為底。對於乙個區間 l,r 先取中點mid l r 2,再取...

三分查詢演算法

輸入 n個元素的公升序陣列 a 1 n 和元素x 輸出 如果x a j 1 j n,則輸出就,否則輸出 0.步驟 1 先把整個區間的 n 3的值 lmid n 3 left。2 再取右側區間的中間值 rmid lmid right,從而把區間分為三個小區間。3 我們a lmid 的值與 x進行比較,...