5

任意の数値ライブラリ (MKL、Boost、GSL など) に、浮動小数点数の並べ替えられた配列を検索して、特定の float に最も近いものを検索する最適化された関数はありますか? 私にとって同じ問題を解決する別の関数は、カスタム離散確率分布からランダム サンプルを生成します。

4

1 に答える 1

4

(私と@betabandidoの)コメントを答えにまとめる:

基本的に、最も近い「上部」要素と最も近い「下部」要素の2つの候補を見つける必要があります(要素がリストにない場合)。これは、バイナリ検索を効率的に使用して実現できます( O(logN)

std :: lower_bound()を使用すると、上位の要素を取得でき、配列内で下位の要素がその前の要素になります。

2つの候補を比較します-与えられたフロートに最も近いものがあなたの答えです。

于 2013-01-10T11:26:21.147 に答える