We find a searching method on ordered lists that surprisingly outperforms binary searching with respect to average query complexity while retaining minmax optimality. The method is shown to require $O(\log_2\log_2 n)$ queries on average while never exceeding $\lceil \log_2 n \rceil$ queries in the worst case, i.e. the minmax bound of binary searching. Our average results assume a uniform distribution hypothesis similar to those of prevous authors under which the expected query complexity of interpolation search of $O(\log_2\log_2 n)$ is known to be optimal. Hence our method turns out to be optimal with respect to both minmax and average performance. We further provide robustness guarantees and perform several numerical experiments with both artificial and real data. Our results suggest that time savings range roughly from a constant factor of 10\% to 50\% to a logarithmic factor spanning orders of magnitude when different metrics are considered.
翻译:我们发现定购单上的一种搜索方法,在平均查询复杂度方面出人意料地优于二进制搜索,同时保留最小值最佳性。 这种方法显示平均需要$O( log_ 2\ log_ 2 n) 查询, 而在最坏的情况下, 最多不超过$\ lcil\ log_ 2 n\ rceil 查询, 也就是二进制搜索的最小值捆绑。 我们的平均结果假定一种统一的分布假设, 类似于原始作者的假设, 根据该假设, 已知预期对$O( log_ 2\ log_ 2 n) 的内插搜索的查询复杂度是最佳的。 因此, 我们的方法在最小值和平均性能方面都是最佳的。 我们进一步提供稳健的保证, 并用人工数据和实际数据进行数个实验。 我们的结果表明, 时间节省幅度从恒定系数 10\ 至 50\\\\ 至对数系数在考虑不同尺度时跨越大小的对数系数。