什麼是二分查詢？
在電腦科學中，二分查詢（也稱為半間隔查詢、對數查詢或二分法）是一種搜尋演演算法，用於在已排序的陣列中查詢目標值的位置。二分查詢將目標值與陣列的中間元素進行比較。如果它們不相等，則排除目標不可能存在的那一半，並在剩餘的一半上繼續搜尋，再次取中間元素與目標值進行比較，並重復此過程，直到找到目標值。如果搜尋結束時剩餘的一半為空，則目標不在陣列中。

在最壞情況下，二分查詢的執行時間為對數時間，進行O(log n)次比較，其中n是陣列中的元素數量。除了對於小陣列之外，二分查詢比線性查詢更快。但是，必須首先對陣列進行排序才能應用二分查詢。有專門設計用於快速搜尋的資料結構，例如雜湊表，可以比二分查詢更有效地進行搜尋。但是，二分查詢可以解決更廣泛的問題，例如在陣列中查詢相對於目標的下一個最小或下一個最大元素，即使它不在陣列中也可以。

二分查詢有許多變體。特別是，分數級聯可以加速在多個陣列中搜索相同值的二分查詢。分數級聯有效地解決了計算幾何和許多其他領域的幾個搜尋問題。指數搜尋將二分查詢擴充套件到無界列表。二分查詢樹和B樹資料結構基於二分查詢。
二分查詢是一種查詢目標值在已排序陣列中的位置的搜尋演算法。它消除了目標值不可能存在的那一半。它搜尋另一半中的值。繼續重複中間元素與目標值進行比較，直到找到目標值。
除小陣列外，二分搜尋比線性搜尋更快。