7章並行処理

問題

[Q061] 並列変換アルゴリズム

与えられた1変数関数を列の要素に適用して各要素を変換します。この処理を並列に行う汎用アルゴリズムを書きなさい。1変数関数はイテレータを無効化したり、範囲の要素を変更したりしてはいけません。並列性のレベル、つまり実行スレッドの個数や並列実行の方法は、実装依存で構いません。

[Q062] スレッドを用いた、最小最大要素を求める並列アルゴリズム

与えられた数値列の最小値と最大値を求める汎用の並列アルゴリズムを実装しなさい。並行スレッド数は実装依存で構いませんが、並列処理はスレッドを使って実装しなさい。

[Q063] 非同期関数を用いた、最小最大要素を求める並列アルゴリズム

与えられた数値列の最小値と最大値を求める汎用の並列アルゴリズムを実装しなさい。並行スレッド数は実装依存で構いませんが、並列処理は非同期関数を使って実装しなさい。

 並列ソートアルゴリズム

6章 アルゴリズムとデータ構造」の問題57で定義したソートアルゴリズムの並列版を、上限と下限を示すランダムアクセスイテレータのペアが与えられ、クイックソートアルゴリズムを使って要素をソートする方法で書きなさい。ソート関数は、要素比較に比較演算子を使いなさい。並列のレベルとその実行の方法は、実装依存で構いません。 ...

Get Modern C++チャレンジ ―C++17プログラミング力を鍛える100問 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.