dav*_*mer 1 arrays performance search
假设我们有一个像这样的值数组:
[0] = 1.2
[1] = 2.4
[2] = 2.7
[3] = 3.3
etc.
Run Code Online (Sandbox Code Playgroud)
我们希望找到最接近的匹配,例如af(2.5)= 1.换句话说,搜索"2.5"将产生等于2.4的索引,因为这是最接近的匹配
对于小型阵列 - 这不是什么大问题,只需从第一个索引循环并与下一个与之前的差异进行比较.但是对于大型阵列来说这是一种浪费 - 因为如果目标值出现在那附近,从最后开始会好得多.
它排序了吗?如果已排序,您可以使用二进制搜索来找到它!
巨大数组中的性能会很棒!O(logN)的
这里有一些信息:http://en.wikipedia.org/wiki/Binary_search_algorithm