python实现二分查找算法

python实现二分查找算法,第1张

概述二分查找算法:简单的说,就是将一个数组先排序好,比如按照从小到大的顺序排列好,当给定一个数据,比如target,查找target在数组中的位置时,可以先找到数组中间的数array[middle]和target进行比较,当它比target小 @H_502_0@二分查找算法:简单的说,就是将一个数组先排序好,比如按照从小到大的顺序排列好,当给定一个数据,比如target,查找target在数组中的位置时,可以先找到数组中间的数array[mIDdle]和target进行比较,当它比target小时,那么target一定是在数组的右边,反之,则target在数组的左边,比如它比target小,则下次就可以只比较[mIDdle+1,end]的数,继续使用二分法,将它一分为二,直到找到target这个数返回或者数组全部遍历完成(target不在数组中)

@H_502_0@优点:效率高,时间复杂度为O(logN);
缺点:数据要是有序的,顺序存储。

@H_502_0@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 -1if __name__ == "__main__":  array = [1,2,4,5]
@H_502_0@运行结果如下:

I find it! It is in the position of: 44-1I find it! It is in the position of: 00-1
@H_502_0@以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程小技巧。

总结

以上是内存溢出为你收集整理的python实现二分查找算法全部内容,希望文章能够帮你解决python实现二分查找算法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1201569.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存