什麼是二進位制搜尋?
Context:在電腦科學中,二進位制搜尋,也稱為半間隔搜尋,對數搜尋或二進位制切割,是一種搜尋演算法,可以在排序陣列中找到目標值的位置. 二進位制搜尋將目標值與陣列的中間元素進行比較. 如果它們不相等,則取消目標不能躺在其中的一半,並繼續搜尋剩餘的一半,再次將中間元素與目標值進行比較,並重復此操作,直到找到目標值. 如果搜尋結束時剩下的半部分是空的, 目標不在陣列中.  在最壞的情況下,二進位制搜尋以對數時間執行,  通過對比,其中  n 是陣列中元素的數量.[a]二進位制搜尋比線性搜尋快,除了小陣列. 然而,該陣列必須先進行排序才能應用二進位制搜尋. 有專門的資料結構設計用於快速搜尋,例如雜湊表,可以比二進位制搜尋更有效地搜尋. 然而,二進位制搜尋可以解決更廣泛的問題,例如找到陣列中相對於目標的下一個最小或下一個最大的元素,即使它不在陣列中.  二進位制搜尋有很多種變化. 特別是,分數級聯加快了對多個陣列相同值的二進位制搜尋. 分數級聯有效地解決了計算幾何學和許多其他領域的幾個搜尋問題. 指數式搜尋將二進位制搜尋擴充套件到無限列表. 二進位制搜尋樹和B樹資料結構基於二進位制搜尋.
二進位制搜尋是一種搜尋演算法,可以在排序的陣列中找到目標值的位置. 它取消了目標值不能存在的部分. 它在另一半中尋找價值. 通過重複中間元素與目標值進行比較,直到找到目標值. 除了小陣列外,二進位制搜尋比線性搜尋快.