私の問題は次のとおりです。contaner X = {x 1 , x 2 , ...,x n } と functionを指定して、値 f(x i ) が最小値に達するf
インデックスを見つけます。i
もちろん、ゼロから実装することもできますが、自転車を発明したような気がするので、標準アルゴリズムまたはブースト アルゴリズムを使用してより短いコードを探しています。私が得ることができた最高のものは
template <typename Val>
Val f(Val)
{
.........
}
template <typename It>
It find_minimum(It begin, It end)
{
return std::min_element(begin, end,
[](typename It::value_type val1, typename It::value_type val2)
{
return f(val1) < f(val2);
});
}
f
しかし、 2N-1 回評価されるという問題があります。