Newton interpolation formulaを実装したいと思います。たぶん、以下のテキストが意味をなさないでしょう。リスト内の隣接要素を結合する
私はリストの2つの隣人を新しい値に結合するList-Functionを探します。それはかなり速くなければならず(可能であれば)、新しいリストを作成する必要はありません。私は、以下に説明する削減を複数回連続して実行したいが、間にあるデータの一部を取得したい。それが合成される
Before: a b c d
\/\/\/
After: ab bc cd
バイナリ関数を自由に切り替え可能であるべきです。
は、これまでのところ私は(アレイ用けど)、このような何かを思い付いた:double[] before = {4, 3, 7, 1};
while(before.length > 1){
double[] after = new double[before.length - 1];
for (int i = 0; i < after.length; i++){
after[i] = chosenBinaryFunction(before[i], before[i+1]);
}
//store after[0]
before = after;
}
答えが受け入れ可能である「あなたがやったよりも良い方法はありません」。その場合は、方法を改善するヒントを提供してください(たとえば、while
で新しいリストをたくさん作成しないようにする、可能なショートカットなど...)。