私は現在、アルゴリズムの紹介のコースを受講しており、並列マージソートアルゴリズムに出くわしました。私の質問は、無限線形プロセッサではなく2Dメッシュで実行する場合、アルゴリズム計画に違いはありますか?
ありがとうございました、
mesh
および_linear array of processors
_を定義するか、そのような定義へのオンライン参照を提供してください。マージソートアルゴリズムにはさまざまな種類があります。 1つの顕著な違いは次のとおりです。
N/2
_配列の2つのソートされた半分を完全にソートされたN
配列にマージする場合、正確に1つのステージが必要ですか(正確にN
またはO(N)
の比較を実行します) 、またはそれは複数の段階を取りますか、最も一般的にはO(log(N))
同じ数の段階(O(N*log(N))
比較の総数に対して)?N-1
_の比較を行います。シーケンシャルであるため、O(N)
タイムステップが必要です。log(N)
ステージが必要です。O(N)
比較(処理要素ごとに1つの比較)が実行され、すべての処理要素がこれを同時に実行します。O(log(N))
の比較の総数がはるかに多いにもかかわらず、N*log(N)
時間が必要です。並列化されたマージソートには他のフレーバーがあります。あなたが学んでいるマージソートのフレーバーを明確にしない限り、私はそれらに答えることができません。