二分查詢數

2021-10-08 23:56:04 字數 687 閱讀 3607

二分搜尋,也稱折半搜尋、二分查詢,是用來在乙個有序陣列中查詢某一元素的演算法。

以在乙個公升序陣列中查詢乙個數為例。

它每次考察陣列當前部分的中間元素,如果中間元素剛好是要找的,就結束搜尋過程;如果中間元素小於所查詢的值,那麼左側的只會更小,不會有所查詢的元素,只需要到右側去找就好了;如果中間元素大於所查詢的值,同理,右側的只會更大而不會有所查詢的元素,所以只需要到左側去找。

在二分搜尋過程中,每次都把查詢的區間減半,因此對於乙個長度為n的陣列,至多會進行o(logn)次查詢。

//直接二分

int find(int x)

return -1;// not found

}int main()

cout << s << endl;

return 0;

}

迭代二分查詢二分查詢

在寫這篇文章之前,已經寫過了幾篇關於改迭代二分查詢主題的文章,想要了解的朋友可以去翻一下之前的文章 bentley在他的著作 writing correct programs 中寫道,90 的計算機專家不能在2小時內寫出完整確正的二分搜尋演算法。難怪有人說,二分查詢道理單簡,甚至小學生都能明確。不過...

二分查詢與二分答案 A B 數對

出題是一件痛苦的事情!相同的題目看多了也會有審美疲勞,於是我捨棄了大家所熟悉的 a b problem,改用 a b 了哈哈!好吧,題目是這樣的 給出一串數以及乙個數字 c,要求計算出所有 a b c 的數對的個數 不同位置的數字一樣的數對算不同的數對 輸入共兩行。第一行,兩個整數 n,c。第二行,...

1128 二分 二分查詢

時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 描述nettle最近在玩 艦 因此nettle收集了很多很多的船 這裡我們假設nettle氪了很多金,開了無數個船位 去除掉重複的船之後,還剩下n 1 n 1,000,000 種不同的船。每一艘船有乙個稀有值,任意兩艘船的稀有...