码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2014-10-01 13:28:11      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:style   ar   for   sp   div   c   代码   r   时间   

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

 

线性搜索  
数组大小 运行时间(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

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

标签:style   ar   for   sp   div   c   代码   r   时间   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!