python二分法实现实例
(1)确定该期间的中间位置K 2.python代码: def BinarySearch(array,t): elif array[mid] > t: else: return -1 结果:57 3.时间复杂度:O(log2n); 注意:二分查找的前提必须待查找的序列有序。 声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。 相关文章 相关视频 全栈 170W+ 主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门 入门 80W+ 主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门 实战 120W+ 主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:
a.array[k]>T 由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]
b.array[k]
#!/usr/bin/python
# -*- coding: utf-8 -*-
low = 0
height = len(array)-1
while low mid = (low+height)/2
if array[mid] low = mid + 1
height = mid - 1
return array[mid]
if __name__ == "__main__":
print BinarySearch([1,2,3,34,56,57,78,87],57)
专题推荐
上一篇: 详解在Python和IPython中使用Docker
下一篇: 使用Python进行并发编程
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论