用Python实现基础版二分查找算法

418 篇文章 ¥99.90 ¥299.90
本文介绍了如何使用Python实现基础版的二分查找算法,该算法适用于有序数组。通过定义一个函数,输入有序列表和目标元素,返回目标元素在列表中的位置或None。文章还提供了测试示例以帮助理解算法的运作。

用Python实现基础版二分查找算法

二分查找是一种在有序数组中查找特定元素的搜索算法,其思路是每次将待查找的序列分成两部分,判断目标元素在哪一部分中,并且对应地继续查找。这个过程像是在一段文本中定位到某个单词,不断缩小范围,直到找到目标单词或者确定该单词不存在。

基于Python语言,我们可以实现一份简单易懂的二分查找算法。首先,需要定义一个函数,输入为有序列表和目标元素,输出为该元素在列表中的位置(下标)或者None。

def binary_search(arr, target):
left = 0
right = len(arr) - 1
while left <= right:
mid = (left + right) // 2
if arr[mid] == target:
return mid
elif arr[mid] < target:
left = mid + 1
else:
right = mid - 1
return None

在这个函数的内部,首先定义了左右指针left和right,它们初始值分别为列表的起始和终止下标。然后,进入while循环,每次计算中间点mid的下标,并按照目标值与中间值的大小关系缩小查找范围。最后,如果找到目标值,返回mid,否则返回None。

下面是一些用于测试的示例代码:

if name == ‘main’:
arr = [1, 3, 5, 7, 9]
target = 3
print(binary_search(arr, target

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code_welike

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值