先贴测试结果
[root@fbsd /tmp]# time php ./search_value.php real 0m1.869suser 0m1.770ssys 0m0.095s[root@fbsd /tmp]# time python ./search_value.pyreal 0m10.096suser 0m9.578ssys 0m0.158s
上述Python是python2,如果用python3执行,花的时间更多,只能呵呵了。
PHP7(版本为7.0.2)的代码
#!/usr/bin/env php
Python版(版本为2.7.10)的代码
def binsearch(data,key): low = 0 high = len(data) i = 0 found = -1 while low < high: mid = (low+high) / 2 if key == data[int(mid)]: found = int(mid) break else: if key < data[int(mid)]: high = mid else: low = mid + 1 return founda = []max_value=1000000for n in range(0,max_value): a.append(n)n = 0for n in a: binsearch(a,n)