折半查詢法 二分)

2022-05-02 06:15:12 字數 815 閱讀 7933

題目描述

大魔導師培根曾經說過:「讀書使人明智,讀詩使人聰慧,演算使人精密,哲理使人深刻,倫理學使人有修養,邏輯修辭使人善辯。」由此可見書籍的重要性是不言而喻的。而與書籍天天打交道的圖書管理員,更是奪天地之造化,吸日月之精華的「神之職業」

。據史料記載,魔法世界從古至今誕生的眾多不平凡的人物中,有不少人都曾經做過「圖書管理員」,如道家學派創始人老子,威軟公司創始人比耳、少林藏經閣的掃地神僧等等。所以,作為以馬虎自負出名的楚繼光,在魔法學院的社會實踐活動中又怎麼會放過這「天將降大任於斯人也」的必經鍛鍊呢。但想成為乙個合格的圖書管理員並不容易,他必須能夠在一排(10000以內)已按編號大小排好序的圖書中,快速地按編號查詢到某本書所在的位置。

輸入第一行是n,表示有n個元素,第二行是n個數,第三行是m表示要查詢的數。

輸出乙個數,即如找到該數,則輸出位置,否則輸出-1。

#include using

namespace

std;

#define ll long long

int a[10010

];int

main()

else

if(a[t]

l=t+1

;

else

if(a[t]>m)

r=t-1

; }

cout

<

<

return0;

}

view code

樣例輸入

3

2 4 6

4

樣例輸出
2

二分查詢法 (折半法)

class arraytest8 int index binarysearch arr,45 system.out.println index 二分查詢法 折半法 前提 陣列必須是有序的 如何去理解折半呢?相信大家都玩過這個遊戲,我在心中想乙個數87,每猜一次我只能告訴你 是大了還是小了,你怎麼才能...

二分查詢法(折半查詢法)

二分查詢法 說明 如果搜尋的數列已經有排序,應該盡量利用它們已排序的特性,以減少搜尋比對的次數 這是搜尋的基本原則,二分搜尋法是這個基本原則的代表。解法 在二分搜尋法中,從數列的中間開始搜尋,如果這個數小於我們所搜尋的數,由於數列已排序,則該數左邊的數一定都小於要搜尋 的物件,所以無需浪費時間在左邊...

二分查詢法 折半查詢法

二分查詢法 也稱折半查詢法,是一種效率較高的查詢方法,存在一定的侷限性。侷限性 適用於有序陣列 有序鍊錶等查詢,例如 array,list。基本原理 第一步 設定需要查詢的元素key,再設定low和high兩個臨時指標分別指向左邊第乙個元素和右邊最後乙個元素。第二步 因為資料是有序的,先根據low和...