有序數(shù)組查詢(xún)?C語(yǔ)言經(jīng)典算法之二分搜尋法
2019-04-01 19:40 作者:C語(yǔ)言基礎(chǔ) | 我要投稿

二分搜尋法(搜尋原則的代表)

解析
在二分搜尋法中,從數(shù)列的中間開(kāi)始搜尋,如果這個(gè)數(shù)小于我們所搜尋的數(shù),由于數(shù)列已排序,則該數(shù)左邊的數(shù)一定都小于要搜尋的對(duì)象,所以無(wú)需浪費(fèi)時(shí)間在左邊的數(shù);如果搜尋的數(shù)大于所搜尋的對(duì)象,則右邊的數(shù)無(wú)需再搜尋,直接搜尋左邊的數(shù)。所以在二分搜尋法中,將數(shù)列不斷的分為兩個(gè)部份,每次從分割的部份中取中間數(shù)比對(duì),例如要搜尋92于以下的數(shù)列,首先中間數(shù)索引為(0+9)/2 = 4(索引由0開(kāi)始):
[3 24 57 57?6768 83 90 92 95]
由于67小于92,所以轉(zhuǎn)搜尋右邊的數(shù)列:
3 24 57 57 67 [68 83?9092 95]
由于90小于92,再搜尋右邊的數(shù)列,這次就找到所要的數(shù)了:
3 24 57 57 67 68 83 90 [9295]
實(shí)現(xiàn)源碼

新手上路,多多關(guān)注,這真的對(duì)我很重要
測(cè)試結(jié)果

新手上路,多多關(guān)注,這真的對(duì)我很重要
標(biāo)簽: