顺序查找

算法基础 顺序查找 二分查找

不问归期 提交于 2019-11-26 00:26:40
1 #顺序查找即在给定范围内逐个遍历,查找需要的数据直到找到或者退出,适合任何类型的查找对象。复杂度为O(n)下面一列表为例,展示顺序查找算法 2 list1 = [i for i in range(100)] #使用列表生成式,生成一个0~99的步长为1列表。 3 find_num = int(input("inpute you want find num")) 4 for i in range(len(list1)): 5 if find_num == list1[i]: 6 print("num index is %d"%i) 7 break 8 print("the num not in list") 9 10 #二分查找。二分查找适合查找对象已完成排序,复杂度为O(log n)还是以list1作为查找对象,假设列表按照升序排列 11 def Find_Num(num, list1): 12 low = 0 13 top = len(list1) - 1 14 if len(list1) == 0: 15 print("list is null") 16 exit() 17 while low <= top: 18 task = int((low + top)/2) 19 guess = list1[task] 20 if num == list1[task]: 21