【发布时间】:2012-12-24 18:05:39
【问题描述】:
在任何数值库(MKL、Boost、GSL、..etc)中是否有一个优化的函数可以搜索一个排序的浮点数数组以找到与给定浮点数最接近的匹配项? 另一个可以为我解决相同问题的函数将从自定义离散概率分布生成随机样本。
【问题讨论】:
-
Binary search 基本上给了你。它为您提供 2 个候选者(如果数字不在列表中):一个上一个下一个,只需找出其中最接近的一个
-
您可以使用 STL 中的std::lower_bound,它有效地实现了二分搜索,按照@amit 的建议找到两个最接近的候选者。