算法圖解|簡單查找和二分查找算法

簡單查找算法

從頭開始查找,待查找數字排在第多少位,則查找比較多少次

隨便想一個1~100的數字。

算法圖解|簡單查找和二分查找算法

每次可以猜一個數字,反饋是這個數字大了,小了,還是對了。

假設從1開始依次往上猜,猜測過程會是上面簡單查找那樣這樣。

算法圖解|簡單查找和二分查找算法

算法代碼如下:

算法圖解|簡單查找和二分查找算法

結果如下圖:

算法圖解|簡單查找和二分查找算法

這也是說到的簡單查找,從前往後依次查找。

二分查找:

從50開始猜,每次從中間開始猜,排除一半的可能。

算法圖解|簡單查找和二分查找算法

接下來猜75試一試~

算法圖解|簡單查找和二分查找算法

這樣,每次排除一半的結果,不論最初是什麼數字,最多7步就可以猜到正確結果。

算法圖解|簡單查找和二分查找算法

如何計算得到這個7步的呢?

每次排除一半的可能,2^n = N,所以計算得到步數n為:

算法圖解|簡單查找和二分查找算法

算法代碼如下:

算法圖解|簡單查找和二分查找算法


分享到:


相關文章: