%%time
# 折半查找if __name__ =="__main__":
a =[-3,4,7,9,13,45,67,89,100,180]
low =0# 数组上界
high =len(a)-1# 数组下界
k =-1# 记录下标print("a数组中的数据如下:")for i in a:print(i, end=" ")# 输出数组中原数据序列print()
m =int(input("Enter m = : "))# 变量m为要查找的整数while low <= high:# 继续查找的控制条件
mid =(low + high)//2# 变量mid为数组序列的中间位置if m < a[mid]:
high = mid -1else:if m > a[mid]:
low = mid +1else:
k = mid
break# 一旦找到所要查找的元素便跳出循环if k >=0:print("m = %d, index = %d"%(m, k))else:print("Not be found!")
a数组中的数据如下:
-3 4 7 9 13 45 67 89 100 180
m = 13, index = 4
CPU times: user 33.3 ms, sys: 11.6 ms, total: 44.9 ms
Wall time: 4.16 s
%%time
# 顺序查找if __name__ =="__main__":
a =[-3,4,7,9,13,45,67,89,100,180]
k =-1# 记录下标print("a数组中的数据如下:")for i in a:print(i, end=" ")# 输出数组中原数据序列print()
m =int(input("Enter m = : "))# 变量m为要查找的整数
i =0while i <len(a):if m == a[i]:
k = i
break# 一旦找到所要查找的元素便跳出循环
i +=1if k >=0:print("m = %d, index = %d"%(m, k))else:print("Not be found!")
a数组中的数据如下:
-3 4 7 9 13 45 67 89 100 180
m = 13, index = 4
CPU times: user 31 ms, sys: 10.9 ms, total: 41.9 ms
Wall time: 2.38 s