【开发者笔记】二分法查找

简介: 刚看到一篇博客说现在90%的程序员都无法正确的写出二分法查找,吓得我赶紧试了试 #python codedef binary_serach(arr,st,end,tar): mid = st + end mid = mid // 2 if st > end: ...

刚看到一篇博客说现在90%的程序员都无法正确的写出二分法查找,吓得我赶紧试了试

#python code
def binary_serach(arr,st,end,tar): mid = st + end mid = mid // 2 if st > end: return False elif tar == arr[mid]: return True elif tar < arr[st] or tar > arr[end]: return False elif tar < arr[mid]: return binary_serach(arr,st,mid,tar) elif tar > arr[mid]: return binary_serach(arr,mid+1,end,tar) else: return False if __name__ == "__main__": l = [1,3,5,6,8,9,12,15,17,23,45] print(l) print("target: %s, result: %s" % (0, binary_serach(l, 0, len(l) - 1, 0))) print("target: %s, result: %s" % (1, binary_serach(l, 0, len(l) - 1, 1))) print("target: %s, result: %s" % (2, binary_serach(l, 0, len(l) - 1, 2))) print("target: %s, result: %s" % (3, binary_serach(l, 0, len(l) - 1, 3))) print("target: %s, result: %s" % (23, binary_serach(l, 0, len(l) - 1, 23))) print("target: %s, result: %s" % (45, binary_serach(l, 0, len(l) - 1, 45))) print("target: %s, result: %s" % (46, binary_serach(l, 0, len(l) - 1, 46)))

下面是测试结果

 

那么我还没忘

技术发展那么快,一次又一次的迭代,到头来发现,还是颈椎病对我们不离不弃。

活动脖子,天天code

那么今天就愉快的下班了吧

 

黑夜给了我黑色的眼睛,我却用它寻找光明
目录
相关文章
|
5月前
|
存储 算法 搜索推荐
数据结构与算法⑰(第五章_八大排序)(完整代码+动图+详解+对比)(上)
数据结构与算法⑰(第五章_八大排序)(完整代码+动图+详解+对比)
52 6
|
5月前
|
算法 编译器
数据结构与算法⑰(第五章_八大排序)(完整代码+动图+详解+对比)(中)
数据结构与算法⑰(第五章_八大排序)(完整代码+动图+详解+对比)
50 4
|
5月前
|
存储 算法 搜索推荐
数据结构与算法⑰(第五章_八大排序)(完整代码+动图+详解+对比)(下)
数据结构与算法⑰(第五章_八大排序)(完整代码+动图+详解+对比)
39 1
|
5月前
|
算法
二分查找算法的细节刨析 --适合有基础的朋友阅读
二分查找算法的细节刨析 --适合有基础的朋友阅读
|
算法 搜索推荐
[数据结构 -- 手撕排序第三篇] 冒泡排序
[数据结构 -- 手撕排序第三篇] 冒泡排序
|
10月前
|
存储 算法 前端开发
前端算法专栏-数组-88.合并两个有序数组
前端算法专栏-数组-88.合并两个有序数组
|
5月前
|
算法
刷题专栏(二十四):两个数组的交集
刷题专栏(二十四):两个数组的交集
102 0
|
12月前
|
存储 搜索推荐 算法
数据结构与算法之三 深入学习排序
数据结构与算法之三 深入学习排序
37 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序4
43 0
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
前端学习笔记202305学习笔记第二十八天-数组结构之快速排序5
29 0