亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

之前說過,二分法算法是一種非常常見的算法。這里大概說說算法的內(nèi)容。具體算法如果有興趣,去百度、維基百科,搜搜就都能找到。我就不做搬運(yùn)工了。這里就我個(gè)人的理解,不嚴(yán)謹(jǐn)?shù)恼f說。

在排序好的一列大小為n的數(shù)組A[],找數(shù)字num。設(shè)left=0,right=n-1:

while(left<=right){

mid = (left + right)/2;

if (A[mid] == num) return mid;

if (A[mid] < num) left = mid + 1;

if (A[mid] > num) right = mid - 1;

}

return -1;

這里面 mid是我們找的中間點(diǎn)。如果正好找到了,那就直接返回不用繼續(xù)找了。如果num比中間點(diǎn)的數(shù)大,那左邊就移動(dòng)到中間點(diǎn)的右邊。這樣搜索的范圍就小了一半。反之,則把右邊移到中間點(diǎn)的左邊。

最終如果已經(jīng)搜素過了整個(gè)范圍,left已經(jīng)大于right,我們還沒有找到num,那就是這個(gè)數(shù)組里沒有這個(gè)數(shù)。這里我用一個(gè)數(shù)組里并不存在的index,-1,來表示。

這個(gè)看起來簡單,但在實(shí)際的實(shí)現(xiàn)中,還有很多要注意的地方,這個(gè)以后有機(jī)會(huì)再說。

總之,上面已經(jīng)給出了了最基本的二分法搜索算法:通過每次重新界定左右邊界來縮小一半的搜索范圍。

分享到:
標(biāo)簽:算法
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定