今天來記錄一下二分法搜尋吧! 雖然這類型相關的題目在還沒正式認識二分法搜尋之前,"盲寫"也解得出來,不過還是做個記錄吧!
Binary Search(二分法搜尋)只能使用在有序陣列上。
Binary Search (二分法搜尋) 做法
由此,演算法每次排除掉至少一半的待查陣列。
咦?為什麼前面說"盲寫"也大概寫出來呢?
因為一開始在寫這類型的題目時,馬上就讓我聯想到"猜數字"這個遊戲,在網路上其他前輩的分享中也可以看到,其實玩這個遊戲的訣竅、根本核心就是Binary Search(二分法搜尋)呀~
請你回想"猜數字"的遊戲規則,要如何用最少的機會,在0~100的範圍內最快猜中數字37呢?
假設最後直接選擇數字37,那麼你便使用了一個最保險的策略,同時也使用了最少的機會去猜中數字。而上面的方法其實就是二分搜尋法的概念。