下面折半查找程序的时间复杂度为( )
def binary_search(arr, x):
low = 0
high = len(arr) - 1
while low <= high:
mid = (low + high) // 2
if arr[mid] == x:
return mid
elif arr[mid] > x:
high = mid - 1
else:
low = mid + 1
return -1
O(n * log n)
O(n)
O(log n)
O(n^2)