# 二分法算法
def binary_search(arr, num):
if len(arr)==0:
print('该值不存在')
return False
mid = int(len(arr)/2)
print(mid)
if arr[mid] > num:
arr = arr[:mid-1]
binary_search(arr,num)
elif arr[mid] < num:
arr = arr[mid:]
binary_search(arr,num)
else:
# num_index = arr.index(arr[mid])
print(f'找到它了{arr[mid]}')
return True
list1 = [2,3,4,5,6,7,8,9,23,34,888,8545,67654]
# list1 = []
num = 5
result = binary_search(list1,num)
print(result)
binarySearch 二分法算法
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
下一篇:2.设计模式-七大原则(C++)
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
算法 - 二分法
二分法要求必须有序,时间复杂度最大为O(log(n))O(log(n))O(log(n)),其中logloglog
二分法 Python 二分法 Python 时间复杂度 下划线 -
查找算法--二分法
则确定新的查找区间。 如果array[mid]>key,则由表的
时间复杂度 二分查找 数据 -
【算法浅谈】二分法
在传递给函数之前,nums 在预先未知的某个下标 k(0
算法 数据结构 数组 二分法 取整 -
【算法】二分法 ③ ( 山脉数组的峰顶索引 | 枚举法 | 二分法 )
一、山脉数组的峰顶索引、二、枚举法、三、二分法
算法 leetcode 二分法 枚举法 时间复杂度 -
python二分法 Python二分法代码
Python 二分法
数组 浮点数 死循环 -
java arcsin 二分法 二分法java代码
二分法: 1、二分法查找算法是建立在排序的基础之上的,即没有排序的 数据是无法查找的; 2、二分法查找的效率高于"一个挨着一个"的这种查找方式; 3、二分法查找原理?我们用一个例子来说明; &nb
java arcsin 二分法 java 二分法 数组 二分法查找