二分算法采用分而治之的思想,算法思路比較簡單,便直接附上一端代碼
def binarysearch(ll,x): length = len(ll) height = length-1 ini = 0 while ini <= height: mid = (ini + height) // 2 findx = ll[mid] if findx == x: return mid if findx < x: # 中間數比待找值小 ini = mid + 1 if findx > x: height = mid - 1 return None al = [1,2,3,4,5,6,7] print("is 3 : " + str(binarysearch(al,3))) print("is 9 : " + str(binarysearch(al,9)))
上述代碼便是一個數組二分查找算法的具實現。
