二分搜索法是利用什么實現的算法 二分搜索法是利用什么實現的算法來實現的

二分搜索法是利用什么實現的算法 二分搜索法是利用什么實現的算法來實現的

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


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

    推薦閱讀