Python实现二分查找算法详解

晚来风
晚来风
发布时间:2026-10-13 | 1人浏览过
原创

本文介绍Python中二分查找算法的实现原理及代码。该算法要求数据有序且顺序存储,具有O(logN)的高时间复杂度优势。通过不断缩小搜索范围,快速定位目标值位置,适合大规模数据检索场景。

二分查找的基本逻辑是:首先确保数组已按特定顺序(如升序)排列。当需要查找目标值 target 时,算法先取数组中间位置的元素 array[middle] 与 target 进行比较。若中间元素小于 target,说明目标值必然位于右半部分;反之,则位于左半部分。随后,算法仅在确定的半区内继续执行二分操作,不断将区间一分为二,直至找到目标值并返回其索引,或区间为空(表示 target 不存在于数组中)。

该算法的核心优势在于执行效率高,其时间复杂度为 O(logN)。然而,其应用前提较为严格:数据必须保持有序状态,且通常适用于顺序存储结构。

以下是基于 Python 语言的二分查找代码实现示例:

#!/usr/bin/python env
# -*- coding:utf-8 -*-

def half_search(array,target):
  low = 0
  high = len(array) - 1
  while low < high:
     mid = (low + high)/2
     if array[mid] > target:
      high = mid - 1
     elif array[mid] < target:
      low = mid + 1
     elif array[mid] == target:
      print 'I find it! It is in the position of:',mid
      return mid
     else:
      print "please contact the coder!"
  return -1



if __name__ == "__main__":
  array = [1, 2, 2, 4, 4, 5]

程序执行后的输出结果如下所示:

I find it! It is in the position of: 4
4
-1
I find it! It is in the position of: 0
0
-1

以上内容为本文的全部介绍,希望能为读者的学习提供有益参考。欢迎持续关注与支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表