
二分搜索法是利用分治策略實(shí)現(xiàn)的算法 。
在計(jì)算機(jī)科學(xué)中,二分搜索(英語:binary search),也稱折半搜索(英語:half-interval search)、對數(shù)搜索(英語:logarithmic search) 。是一種在有序數(shù)組中查找某一特定元素的搜索算法 。搜索過程從數(shù)組的中間元素開始,如果中間元素正好是要查找的元素,則搜索過程結(jié)束;如果某一特定元素大于或者小于中間元素,則在數(shù)組大于或小于中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較 。如果在某一步驟數(shù)組為空,則代表找不到 。這種搜索算法每一次比較都使搜索范圍縮小一半 。
排名查詢可以使用調(diào)整版的二分搜索來運(yùn)行 。借由在成功的搜索回傳{\displaystyle m},以及在失敗的搜索回傳{\displaystyle L},就會(huì)取而代之地回傳了比起目標(biāo)值小的元素?cái)?shù)目 。前趨和后繼查詢可以借由排名查詢來運(yùn)行 。一旦知道目標(biāo)值的排名,其前趨就會(huì)是那個(gè)位于其排名位置的元素 , 或者排名位置的上一個(gè)元素(因?yàn)樗切∮谀繕?biāo)值的最大元素) 。其后繼是(數(shù)組中的)下一個(gè)元素 , 或是(非數(shù)組中的)前趨的下一個(gè)元素 。目標(biāo)值的最近鄰可能是前趨或后繼,取決于何者較為接近 。范圍查詢也是直接了當(dāng)?shù)?。一旦知道兩個(gè)值的排名,不小于第一個(gè)值且小于第二個(gè)值的元素?cái)?shù)量就會(huì)是兩者排名的差 。這個(gè)值可以根據(jù)范圍的端點(diǎn)是否算在范圍內(nèi),或是數(shù)組是否包含其端點(diǎn)的對應(yīng)鍵來增加或減少1 。
【二分搜索法是利用什么實(shí)現(xiàn)的算法 二分搜索算法是利用什么實(shí)現(xiàn)的算法】
相關(guān)經(jīng)驗(yàn)推薦
- 略談微生物對雞群健康的影響
- 小米lot是什么 小米lot和小米
- 屏幕時(shí)間管理怎么取消紅米 屏幕時(shí)間管理怎么取消
- 山茶油怎么吃 善行天下山茶油怎么吃
- 屏幕使用時(shí)間怎么設(shè)置 ipad屏幕使用時(shí)間怎么設(shè)置
- 怎樣設(shè)置屏幕亮的時(shí)間 屏幕亮的時(shí)間怎么設(shè)置
- 虎牙直播彈幕怎么設(shè)置 虎牙直播彈幕怎么設(shè)置在頂上
- 主板燈亮開機(jī)沒反應(yīng) 主板燈亮開機(jī)沒反應(yīng)風(fēng)扇轉(zhuǎn)一下
- 發(fā)酵床養(yǎng)雞場發(fā)酵床建造要求 養(yǎng)雞場發(fā)酵床怎么做
