二分法是一種快速查找的方法,時(shí)間復(fù)雜度低,邏輯簡(jiǎn)單易懂,總的來說就是不斷的除以2除以2...
為海南等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及海南網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、海南網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
例如需要查找有序list里面的某個(gè)關(guān)鍵字key的位置,那么首先確認(rèn)list的中位數(shù)mid,下面分為三種情況:
如果 list[mid] < key,說明key 在中位數(shù)的 右邊;
如果 list[mid]?> key,說明key 在中位數(shù)的 左邊;
如果 list[mid]?= key,說明key 在中位數(shù)的中間;
范圍每次縮小一半,寫個(gè)while的死循環(huán)知道找到為止。
二分法查找非常快且非常常用,但是唯一要求是要求數(shù)組是有序的
代碼如下