阅读书籍:[美]Aditya Bhargava◎著 袁国忠◎译.人民邮电出版社.《算法图解》
python猜数字代码
def binarySeach (list,item):
low = 0
high = len(list) - 1
while low <= high:
mid = (low + high) // 2
guess = list[mid]
if guess == item:
return mid
if guess > item:
high = mid - 1
else:
low = mid + 1
return None
myList = [1,3,5,7,9,11,13]
print(binarySeach(myList,5))
print(binarySeach(myList,-1))
线性时间
在计算复杂性理论,一个被称为线性时间或 Ο(n)时间的算法,表示此算法解题所需时间正比于输入资料的大小,通常以n表示。换句话说,执行时间与输入资料大小为线性比例。例如将一列数字加总的所需时间,正比于串行的长度。
来自<百度百科>
对数时间 : 二分查找的运行时间
大O表示法是一种特殊的表示法,指出了算法的速度有多快
大O表示法:算法的时间复杂度通常用大O符号表述,定义为\(T_{[n]} = O_{(f(n))}\)。称函数T(n)以f(n)为界或者称T(n)受限于f(n)。 如果一个问题的规模是n,解这一问题的某一算法所需要的时间为T(n)。T(n)称为这一算法的“时间复杂度”。当输入量n逐渐加大时,时间复杂度的极限情形称为算法的“渐近时间复杂度”。
来自<百度百科>
原文:https://www.cnblogs.com/wangbaby/p/10290484.html