コンテナの選択が性能を左右する
`PmergeMe`クラスは、同じソートアルゴリズムを`std::vector`と`std::deque`で実行し、その性能差を比較します。このツールで、コンテナの内部構造がいかに処理時間に影響するかを探求しましょう。
中核アルゴリズム:マージ挿入ソート
この課題で使うのは、比較回数を最小限に抑える高度な「マージ挿入ソート」です。下のボタンを押して、その複雑な手順がどのように進むかをステップごとに確認してください。
1. ペア作成
→
2. ペア内ソート
→
3. 再帰的ソート
→
4. 最適化された挿入
技術選択:`vector` vs `deque`
なぜこの2つのコンテナを比較するのでしょうか?それは「ランダムアクセス」と「要素の挿入」という相反する性能特性を持っているからです。スライダーでソートする要素数を変更し、どちらが速くなるか観察してください。
`std::vector`
連続メモリ: アクセスは速いが挿入は遅い
0 ms
`std::deque`
非連続メモリ: 挿入は速いがアクセスは少し遅い
0 ms