二分查找-Binary search

xiaoxiao2025-12-04  6

二分查找

WIKI

In computer science, binary search, also known as half-interval search,[1] logarithmic search,[2] or binary chop,[3] is a search algorithm that finds the position of a target value within a sorted array.

简单查找VS二分查找

简单查找:从头开始查询

二分查找:二分查找就是将查找的键和子数组的中间键作比较,如果被查找的键小于中间键,就在左子数组继续查找;如果大于中间键,就在右子数组中查找,否则中间键就是要找的元素。

 

 

简单查找

二分查找

复杂度

O(n)

O(logn)

二分查找复杂度参考文献:

https://www.cnblogs.com/qiaozhoulin/p/5328090.html

Python代码

""" Input:list,item Output:index of item """ def binary_search(alist, aitem):     low = 0     high = len(alist) - 1     while low <= high:         mid = (low + high) / 2         guess = alist[mid]         if guess == aitem:             return mid         if guess > aitem:             high -= 1         else:             low += 1     return None if __name__ == "__main__":     alist = [1, 3, 5, 7, 8]     aitem = 3     aindex = binary_search(alist, aitem)

 

转载请注明原文地址: https://www.6miu.com/read-5040348.html

最新回复(0)