Next:
B.15.5 サンプル・プログラム
Up:
B.15 行列はどうする?
Previous:
B.15.3.0.3 成分のアクセス
B.15.4 二つの方法の優劣
いずれが優れているか、決定打はないという感じである。
一次元配列の方法は、二重添字から番地を計算するのがとにかく面倒である (マクロで一応は処理できるが、行列が増えると個数分のマクロを定義せねば ならず、ちょっとイヤミ)。
一次元配列の方法は、二重添字から番地を計算するのに、乗算が必要で、 CPU によっては時間がかかる。
ポインター配列の方法は、余分なメモリーを必要とする。
ポインター配列の方法は、成分へのアクセスに、余分なメモリー・アクセス を必要とする。システムによっては時間がかかる。(少し工夫したコーディン グをすれば無駄は減少するが、面倒である。)
ポインター配列の方法では、行列の行の交換が、次のように実際の成分を移 動せずに実現できるので、非常に高速。
double *ap; ... ap = a[i]; a[i] = a[j]; a[j] = ap;
Next:
B.15.5 サンプル・プログラム
Up:
B.15 行列はどうする?
Previous:
B.15.3.0.3 成分のアクセス
Masashi Katsurada
平成18年4月28日