二分法查找使用的方法與我們在孩童時期玩的猜數遊戲中所使用的方法一樣。在這個遊戲裏,一個朋友會讓你猜她正想的1-100之間的數,當你猜到一個數後,她會告訴你三個選擇中的一個,你猜的數比她想的大,或者小,或者猜中了。
爲了能用最少的次數猜中,必須從50開始猜。如果她說你猜的數太小,則這個數一定在51-100之間,所以下次猜75(51-100的一半)。但如果她說你猜的數大,則這個數一定在1-49之間,所以下一次猜25。
每猜一次數就會把可能的值劃分成兩部分。最後範圍就會縮小到一個數字那麼大,那就是答案。
運用這個方法可以只需要少的猜測次數。如果是線性查找,從1開始,然後是2,3,等等,找到這個數字平均會用到50次。在二分法查找中,每次猜測都會劃分成兩部分,因此猜測的次數就會大大地減少。
下面用二分法在有序的數組中查找想查找的值