二分查找圖解 為什么二分查找很重要?
為什么二分查找很重要?由于二進(jìn)制搜索可以有效地縮短搜索時(shí)間,提高搜索效率,是一種非常實(shí)用的方法二進(jìn)制搜索算法是一種快速搜索算法。當(dāng)我們在另一個(gè)數(shù)組中尋找一個(gè)數(shù)字時(shí),我們通常直接遍歷這個(gè)數(shù)組直到找到這個(gè)
為什么二分查找很重要?
由于二進(jìn)制搜索可以有效地縮短搜索時(shí)間,提高搜索效率,是一種非常實(shí)用的方法
二進(jìn)制搜索算法是一種快速搜索算法。當(dāng)我們在另一個(gè)數(shù)組中尋找一個(gè)數(shù)字時(shí),我們通常直接遍歷這個(gè)數(shù)組直到找到這個(gè)數(shù)字。時(shí)間復(fù)雜度為O(n)。如果有大量的數(shù)據(jù),我們可以使用簡單快速的搜索算法二進(jìn)制搜索算法,也稱為半搜索算法。
二分查找和折半查找一樣嗎?
二進(jìn)制搜索又稱半搜索,具有比較次數(shù)少、搜索速度快、平均性能好的優(yōu)點(diǎn);缺點(diǎn)是需要查找的表是有序表,插入和刪除比較困難。因此,半搜索法適合于尋找不頻繁變化的頻繁有序列表。首先,假設(shè)表中的元素按升序排列,并將表中間的關(guān)鍵字與搜索關(guān)鍵字進(jìn)行比較。如果它們相等,則搜索成功;否則,使用表的中間部分將表劃分為兩個(gè)子表。如果表中間的關(guān)鍵字大于搜索關(guān)鍵字,則進(jìn)一步搜索前一個(gè)子表,否則,進(jìn)一步搜索后一個(gè)子表。重復(fù)上述過程,直到找到滿足條件的記錄,以便搜索成功,或者直到子表不存在,則搜索失敗。
什么是二分查找?
適用的前提條件:
1。存儲在數(shù)組中(如一維數(shù)組)
2。數(shù)組元素的基本思想是有序(如升序)搜索:半搜索,將搜索元素設(shè)置為值,將值與中間元素(middle=left(right-left)/2比較,這樣做的好處是防止中間元素越界,如果它小于中間值,則搜索范圍在中間大于中間值時(shí),搜索范圍為中間-1。如果它等于中間值,則結(jié)束索引元素為value=middle。