天天看點

查找算法學習之二分查找(Python版本)——BinarySearch

[quote]在計算機科學中,折半搜尋,也稱二分查找算法、二分搜尋,是一種在有序數組中查找某一特定元素的搜尋算法。搜素過程從數組的中間元素開始,如果中間元素正好是要查找的元素,則搜素過程結束;如果某一特定元素大于或者小于中間元素,則在數組大于或小于中間元素的那一半中查找,而且跟開始一樣從中間元素開始比較。如果在某一步驟數組為空,則代表找不到。這種搜尋算法每一次比較都使搜尋範圍縮小一半。[/quote]

[list]

[*]時間複雜度:O(logn)

[*]空間複雜度:O(1)

[/list]

示例:

參考資料:

http://zh.wikipedia.org/wiki/%E6%8A%98%E5%8D%8A%E6%90%9C%E7%B4%A2%E7%AE%97%E6%B3%95