たとえば、一連の値 (3、5、8、12、15 など) があり、それらすべてを特定の値だけ減らしたい場合があるとします。
それらをシーケンス (0、2、3、4、3) として保存し、変数を基数 3 として保持する場合、代わりにそれらを減らしたいときはいつでも基数を変更する (そして最初の項目をチェックする) だけで済みます。実際にすべての値を調べます。
これには正式な用語があることは知っていますが、母国語から英語に文字通り翻訳すると、うまくいきません。
たとえば、一連の値 (3、5、8、12、15 など) があり、それらすべてを特定の値だけ減らしたい場合があるとします。
それらをシーケンス (0、2、3、4、3) として保存し、変数を基数 3 として保持する場合、代わりにそれらを減らしたいときはいつでも基数を変更する (そして最初の項目をチェックする) だけで済みます。実際にすべての値を調べます。
これには正式な用語があることは知っていますが、母国語から英語に文字通り翻訳すると、うまくいきません。
データ構造の名前はわかりませんが、基本的にはベース+オフセットです:-)
オフセット?
私があなたの質問を正しく理解していれば、あなたはリベースしています。これは通常、ロード アドレスから DLL 内のアドレスにパッチを適用することに関して使用されます。
あなたの例が間違っているように見えるので、それがあなたがしていることかどうかはわかりません。基数が 3 の { 3, 5, 8, 12, 15 } を出すには、{ 0, 2, 5, 9, 12 } が必要です。
わからない。最初の配列がインデックス値 f(i) (f(0) は 3、f(1) は 5 など) の関数の結果を提供すると想像すると、2 番目の配列は関数 f` を記述しています。 (i) ここで、f(0) = 3 の場合、f(i+1) = f(i) + f'(i) です。
元のデータを取得するプロセスが単純な合計関数である微分関数のようなものと呼んでいます。
f(0) を変更するのか、それとも f(i) から値を取得するのか? この手法は、最適化したいという欲求に根ざしていますか?
おそらく、「誘導シーケンス」または「誘導シーケンス」のような用語を探しているでしょう。(私はそれを作っただけです。)