線性搜尋
從陣列中搜尋數據的演算法,依序從陣列前端開始往後查詢數據。簡單說就是「從頭到尾一個一個找」。
使用線性搜尋的執行時間因為線性搜尋是從頭依序比較,當數據量大且目標數據在陣列的後方,或目標數據不存在時,比較的次數就會變多,而且耗費時間。當數據量為n時,執行時間為 O(n)。
二元搜尋
從陣列中搜尋數據的演算法,只適用於數據已排序完成的情況。將陣列正中央的數據與目標數據進行比較,判斷目標數據在中心數據的左邊或右邊。比較一次就縮小一半的搜尋範圍。類似『終極密碼』這種遊戲。
使用二元搜尋的執行時間二元搜尋是使用排序過的陣列,可以讓每次搜尋的範圍減半,直到搜尋範圍只剩一個數據時結束搜尋。假設數據為n個,反覆進行每次減半的操作 ㏒₂n次後,數據剩下一個。所以二元搜尋進行 ㏒₂n次「和陣列正中央的數比較,使搜尋範圍減半」的操作後,就能搜尋到目標數(若目標數不存在,也能得出該數不存在的結論)。所以執行時間是 O(㏒n)。