二分查找是一种在有序数组中查找特定元素的搜索算法,搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较,如果在某一步骤数组为空,则代表找不到。
(图片来源网络,侵删)
以下是Python实现二分查找的代码:
def binary_search(arr, low, high, x): if high >= low: mid = (high + low) // 2 if arr[mid] == x: return mid elif arr[mid] > x: return binary_search(arr, low, mid 1, x) else: return binary_search(arr, mid + 1, high, x) else: return 1
在这个函数中,我们首先找到中间元素,然后根据x和中间元素的大小关系来决定下一步在左半部分还是右半部分进行查找。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/676174.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复