Python 掌握下标运用技巧:二分查找法、冒泡排序、选择排序、插入排序、归并排序及快速排序(Python版本)
发布时间
阅读量:
阅读量
二分查找法(折半查找法)的递归实现
二分查找法(折半查找法):适用于预先排好序的列表中的查找问题 ,
进一步强调,在排序的基础上应用二分查找法更为高效和准确;经过排序后才能有效使用这种查找方法。
- 此外,在待查找列表中如果存在重复值,则只会返回其中一个位置。
- 该算法的时间复杂度为O(\log_2 N), 其中N表示数据的大小。
为了便于理解代码中的下标运算,
前提如下:
- 小括号
()表示区间时不包括端点 - 中括号
[]则表示区间包括端点
举例说明:
区间表示为(2,6]即从下标2开始(不含)到下标6结束(含)
查看代码示例(其中列表长度设定为偶数且假定长度为10,在有序排列的情况下,请计算并返回目标值的索引位置)
def _binarySearch(key, a, lo, hi):
if lo >= hi:
return -1
mid = (lo + hi) // 2
if(key < a[mid]):
return _binarySearch(key, a, lo, mid)
elif(key > a[mid]):
return _binarySearch(key, a, mid+1, hi)
el
全部评论 (0)
还没有任何评论哟~
