さまざまな構成でプログラムを実行してから統計データを読み込んでいます。a
6つの構成( 、、b
...、 )があるとしましょうf
。構成は直線的に変化しない可能性があるため、測定値を表と考えると、表にギャップがある可能性があります。問題は、これらの統計データをメモリに構造化することです。
最初に頭に浮かぶのは、これらの構成を動的に割り当てられた6つの深さの配列に読み取ることです。
struct data ******measurements;
これで問題なく動作します。メモリのオーバーヘッドはほとんどなく(実際にデータが割り当てられる構成のみ)、アクセス時間はO(1)
です。
ほとんどの人がポインタを好まないという事実に******
加えて、これには、構成を追加することは配列に次元を追加することを意味し、配列への読み取り/書き込みが関数にカプセル化されない限り醜くなる可能性があるという欠点があります。(書き込みは、必要に応じて割り当てを処理するためにすでにカプセル化されているため、実際にはそれほど大きな問題ではありません)。
頭に浮かぶもう1つのアイデアは、AVLツリーなどを使用するためのマップを使用するstruct config
ことstruct data
です(私はすでに持っているので、実装のオーバーヘッドはありません)。これにより、構成パラメーターを拡張する問題は解決されますが、アクセス時間がに短縮されO(log(n))
ます。
O(log(n))
テストの数は、違いを生むためにかなり多くなる可能性があります。
私の質問は:ここで6つの深さのネストされた配列を使用することは正当化されますか?それとも、これを行うためのより良い方法はありますか?