【发布时间】:2011-01-09 13:20:44
【问题描述】:
考虑一个整数数组(假设已排序);我想以最快的方式找到最接近给定整数的整数的数组索引。而存在多种可能性的情况,算法应该全部识别出来。
示例:考虑 T=(3, 5, 24, 65, 67, 87, 129, 147, 166),如果给定的整数是 144,那么代码应该将 147 识别为最接近的整数,并给出对应于该条目的数组索引 7。对于 66 的情况,算法应该识别 65 和 67。
是否有 O(1) 或至少 O(log N) 的算法可以做到这一点?直接搜索算法(二分搜索、树搜索、散列等)实现将不起作用,因为它们需要完美匹配。有什么办法可以修改这些来处理近似搜索?
我正在开发 C 代码。
谢谢
【问题讨论】:
标签: search approximate