首页 > 其他 > 详细

其实 两分搜索 和 线性搜索 差距没那么大

时间:2014-10-01 12:07:21      阅读:241      评论:0      收藏:0      [点我收藏+]

测了一下两分搜索 和 线性搜索的运行时间,用的都是由小到大排序好的数组,搜最大的数

 

线性搜索  
数组大小 运行时间(s)
10000 0.01
100000 0.02
1000000 0.07
10000000 0.5
两分搜索  
数组大小 运行时间(s)
10000 0.01
100000 0.015
1000000 0.05
10000000 0.3
代码如下:
 
def sequentialSearch(a, item):
 
for i in a: 
 
         if i == item: return True
 
     return False
 
 
 
def binarySearch(a, item):
 
    l = 0
 
    r = len(a)-1
 
    m = m_v = 0
 
    while l <= r:
 
        m = (l+r)//2
 
        m_v = a[m_v]
 
        if m_v == item: return True
 
        else:
 
            if item < m_v: r = m-1
 
    else: l = m+1
 
return False

其实 两分搜索 和 线性搜索 差距没那么大

原文:http://www.cnblogs.com/zy001/p/4003154.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!