二分法查找的算法

2024-01-30 23:17

1個回答

假如有一組數(shù)為3,12,24,36,55,68,75,88要查給定的值24.可設三個變量front,mid,end分別指向數(shù)據(jù)的上界,中間和下界,mid=(front+end)/2.
1.開始令front=0(指向3),end=7(指向88),則mid=3(指向36)。因為mid>x,故應在前半段中查找。
2.令新的end=mid-1=2,而front=0不變,則新的mid=1。此時x>mid,故確定應在后半段中查找。
3.令新的front=mid+1=2,而end=2不變,則新的mid=2,此時a[mid]=x,查找成功。
如果要查找的數(shù)不是數(shù)列中的數(shù),例如x=25,當?shù)谌闻袛鄷r,x>a[mid],按以上規(guī)律,令front=mid+1,即front=3,出現(xiàn)front>end的情況,表示查找不成功。
例:在有序的有N個元素的數(shù)組中查找用戶輸進去的數(shù)據(jù)x。
算法如下:
1.確定查找范圍front=0,end=N-1,計算中項mid=(front+end)/2。
2.若a[mid]=x或front>=end,則結(jié)束查找;否則,向下繼續(xù)。
3.若a[mid]x,說明待查找的元素值只可能在比中項元素小的范圍內(nèi),則把mid-1的值賦給end,并重新計算mid,轉(zhuǎn)去執(zhí)行步驟2。
[一維數(shù)組,折半查找]

相關問答
我好像查到了自己的前世,不是算命那查的!
5個回答2022-06-17 03:18
你這是白日夢,自我催眠。 只有閻王爺那兒有檔案的(生死簿)。不找閻王爺,就只能瞎猜。
三橫一豎的算命法是查什么的
1個回答2023-08-05 10:23
圍觀答案出現(xiàn)
暗算中小查是誰扮演者
1個回答2024-08-14 16:29
《暗算》小查的扮演者:陳星彤 小查,黃依依的助手,精細穩(wěn)重,對生性跳脫的黃依依是有力的輔助。 陳星彤,原名陳婷。1984年1月21日生,畢業(yè)于上海師范大學影視藝術(shù)系,影視演員。 ...
全文
查找計算機類的教程,電子書之類的
1個回答2022-06-06 02:57
用超星閱覽器找
怎么查計算機一級證書
1個回答2024-12-06 17:29
查計算機一級證書方法如下: 打開中國教育考試網(wǎng),點擊“綜合查詢網(wǎng)”,選擇“證書查詢”,選擇“計算機等級考試”,按照提示填寫相關信息,點擊查詢就可以了。具體步驟如下: 1、登錄統(tǒng)一的“全國計算機...
全文
知網(wǎng)查重附錄里的調(diào)查問卷算不算
2個回答2022-12-27 00:58
要具體看你學校檢測不檢測,保持和學校一致就可以了。這樣提前檢測的結(jié)果才會一致。
諸葛神算怎么查不到了?
4個回答2022-12-07 08:16
諸葛神算指的是《三國演義》的諸葛亮吧,你如果是用諸葛神算查不到,我覺得用諸葛亮這個名字就能查到了。
1985年農(nóng)歷6月二十五亥時生女命查八算命
1個回答2022-09-24 03:50
有泰國師傅可預約
就算是一個丑小鴨的丑先查什么部,再查幾畫
1個回答2023-02-04 04:57
部首:一 筆順:橫折、豎、橫、橫
查爾斯三世是怎么算一世的
1個回答2023-08-24 09:40
查爾斯三攜銀世之所以是三世是因為在他之前已經(jīng)有兩個叫查爾斯的國王了,第一個叫察稿查爾斯的國王是一世,以此類推。辯沒宴
熱門問答