網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

二分搜尋法是利用什麼實現的算法

欄目: IT科技 / 發佈於: / 人氣:5.52K

二分搜尋法是利用什麼實現的算法

二分搜尋法是利用分治策略實現的算法。

在計算機科學中,二分搜尋(英語:binary search),也稱折半搜尋(英語:half-interval search)、對數搜尋(英語:logarithmic search)。是一種在有序數組中查找某一特定元素的搜尋算法。搜尋過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜尋過程結束;如果某一特定元素大於或者小於中間元素,則在數組大於或小於中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較。如果在某一步驟數組爲空,則代表找不到。這種搜尋算法每一次比較都使搜尋範圍縮小一半。

排名查詢可以使用調整版的二分搜尋來執行。藉由在成功的搜尋回傳{displaystyle m},以及在失敗的搜尋回傳{displaystyle L},就會取而代之地回傳了比起目標值小的元素數目。前趨和後繼查詢可以藉由排名查詢來執行。一旦知道目標值的排名,其前趨就會是那個位於其排名位置的元素,或者排名位置的上一個元素(因爲它是小於目標值的最大元素)。其後繼是(數組中的)下一個元素,或是(非數組中的)前趨的下一個元素。目標值的最近鄰可能是前趨或後繼,取決於何者較爲接近。範圍查詢也是直接了當的。一旦知道兩個值的排名,不小於第一個值且小於第二個值的元素數量就會是兩者排名的差。這個值可以根據範圍的端點是否算在範圍內,或是數組是否包含其端點的對應鍵來增加或減少1。