1

2つの行列を乗算する場合、結果を格納するために3番目の行列を割り当てる必要があります。アルゴリズムのメモリ消費量を計算するときに、この割り当てを考慮する必要がありますか?

4

2 に答える 2

1

アルゴリズムに必要なスペースが、結果を格納するために必要なスペースよりも少ないという議論を想像することはできません。これは、必要なスペースの下限である必要があります。

しかし、どうやら私の想像力は目前の仕事に任されておらず、入力パラメーター用のスペースも出力/結果用のスペースもアルゴリズムに対してカウントされるべきではありません。

だから(以下のコメントが私を納得させたように):いいえ。

于 2012-01-14T02:41:25.307 に答える
0

他の応答が言うように、行列自体が占めるスペースと乗算アルゴリズムを区別する必要があります。

従来のNxM行列データ構造の場合、使用されるスペースはO(NM)です。

アルゴリズム自体に関しては、次のように異なります。基本的な順次乗算アルゴリズムは、一度に1つの要素を乗算およ​​び合計するため、O(1)スペースを使用します。

NxMおよびMxP行列を乗算する並列アルゴリズムでは、各プロセスが1つの乗算値を計算するため、各プロセッサはO(1)スペースを取る必要がありますが、スペースではO(X)です。ここで、Xはソリューションで動作する並列プロセスの数です。

于 2012-01-14T03:31:24.653 に答える