概述
目录
最小项搜索
顺序搜索
二分(叉)搜索
测试 main() 函数示例
最小项搜索
遍历整个列表,查询最小值
def min_search(items):
"""
最小项搜索
:param items:
:return:
"""
min_index = 0
for i in range(len(items)):
if items[min_index] > items[i]:
min_index = i
return 'min index: {}'.format(min_index)
顺序搜索
遍历整个列表,找到符合条件的值
def order_search(target, items):
"""
顺序搜索,常用遍历方法, O(n)
:param target:
:param items:
:return:
"""
position = 0
while position < len(items):
if target == items[position]:
return 'where index: {}'.format(position)
position += 1
return '404 Not FOUND!:('
二分(叉)搜索
前置条件:列表已排序
时间复杂度:O(log2n)
def binary_search(target, items):
"""
二分查找(二叉搜索),O(log2n)
前置条件:列表已排好序
:param target:
:param items:
:return:
"""
left = 0
right = len(items) - 1
while left <= right:
middle = (left + right) // 2
if target == items[middle]:
return 'where index: {}'.format(middle)
elif target > items[middle]:
left = middle + 1
else:
right = middle - 1
return -1
测试 main() 函数示例
if __name__ == '__main__':
items1 = [1, 3, 6, 23, 0]
min_search_res = min_search(items1)
print('最小值索引:', min_search_res)
items2 = [1, 3, 6, 23, 66]
order_search = order_search(23, items2)
print('顺序查找:', order_search)
items3 = [1, 3, 6, 23, 66]
search_res = binary_search(66, items3)
print('二分查找:', search_res)
最后
以上就是认真金鱼为你收集整理的【Python】常用查询算法:最小项搜索、顺序搜索、二分搜索的全部内容,希望文章能够帮你解决【Python】常用查询算法:最小项搜索、顺序搜索、二分搜索所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复