電腦 · 二分搜尋
怎樣在 100 萬個名字中用 20 步找到一個?
你會看到
一本電話簿裡有一百萬個名字,按字母順序排列。一個一個查,可能要看一百萬次。能更快嗎?從正中間翻開。你要找的名字在後面,所以整個前一半都可以丟掉。還剩五十萬。再翻開剩下部分的中間,又砍掉一半。再來一次。每看一次,就丟掉剩下的一半。砍半二十次,一百萬就只剩一個,因為二的二十次方剛好比一百萬多一點。十億個名字呢?只要再多看十次。
電腦 · 二分搜尋
一本電話簿裡有一百萬個名字,按字母順序排列。一個一個查,可能要看一百萬次。能更快嗎?從正中間翻開。你要找的名字在後面,所以整個前一半都可以丟掉。還剩五十萬。再翻開剩下部分的中間,又砍掉一半。再來一次。每看一次,就丟掉剩下的一半。砍半二十次,一百萬就只剩一個,因為二的二十次方剛好比一百萬多一點。十億個名字呢?只要再多看十次。