Python 线性查找与二分查找
程序员文章站
2022-03-14 20:45:45
...
线性查找与二分查找
线性查找
def linear_search(li, value):
for index, v in enumerate(li): # 枚举,返回(index, value)
if v == value:
return index
else:
return None
二分查找(有序列表)
def binary_search(li, value):
left = 0 # 表头
right = len(li) - 1 # 表尾
while left <= right: # 查找的区间还有值
mid = (left + right) // 2
if li[mid] == value:
return value
elif li[mid] > value: # 需要查找的value在mid左侧
right = mid - 1
else: # 需要查找的value
left = mid + 1
else:
return None
推荐阅读
-
JavaScript遍历查找数组中最大值与最小值的方法示例
-
浅谈选择、冒泡排序,二分查找法以及一些for循环的灵活运用
-
简单掌握Python中glob模块查找文件路径的用法
-
Python中的字符串查找操作方法总结
-
foxmail邮件存储位置在哪里 foxmail7.2邮件存储位置查找与更改教程
-
深入理解Python中命名空间的查找规则LEGB
-
简单掌握Python中glob模块查找文件路径的用法
-
为Visual Studio 2010 增加多行查找与多行替换功能(VS跨行查找替换)
-
使用python list 查找所有匹配元素的位置实例
-
python 实现查找文件并输出满足某一条件的数据项方法