Python二分查找快速查找有序数组中的元素

分类:知识百科 日期: 点击:0

Python二分查找是一种快速查找有序数组中的元素的方法,它的基本思想是:选择数组中间的元素作为比较对象;比较中间元素与目标元素的大小;如果中间元素比目标元素大,则继续查找中间元素左边的子数组;如果中间元素比目标元素小,则继续查找中间元素右边的子数组;如果中间元素等于目标元素,则查找成功,返回相应的索引。

Python二分查找的使用方法如下:

# 二分查找函数
def binary_search(list, item):
    # low和high用于跟踪要在其中查找的列表部分
    low = 0
    high = len(list)-1
    
    # 只要范围没有缩小到只包含一个元素,就持续查找
    while low <= high:
        # 检查中间元素
        mid = (low + high) // 2
        guess = list[mid]
        # 匹配则返回索引
        if guess == item:
            return mid
        # 猜的数字大了,把高位调低
        if guess > item:
            high = mid - 1
        # 猜的数字小了,把低位调高
        else:
            low = mid + 1
    # 没有找到元素
    return None

# 测试
my_list = [1, 3, 5, 7, 9]

print(binary_search(my_list, 3)) # 输出 1
print(binary_search(my_list, -1)) # 输出 None

以上是Python二分查找的使用方法,它是一种非常有效的查找有序数组中的元素的方法。

标签:

版权声明

1. 本站所有素材,仅限学习交流,仅展示部分内容,如需查看完整内容,请下载原文件。
2. 会员在本站下载的所有素材,只拥有使用权,著作权归原作者所有。
3. 所有素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 如果素材损害你的权益请联系客服QQ:77594475 处理。