回答:
質問のとおりに言いますが、重要な注意事項があります。
はい、プログラミングゲーム開発で物事を分類する方法を知る必要があります。さまざまな状況で、さまざまな並べ替えが行われます。いいえ、さまざまな並べ替えアルゴリズムのすべて(または多く)がどのように機能するかについての詳細を知る必要はありません。必要な場合は、参照(オンラインまたは本)でそれを検索するだけでほとんどの場合十分です。
重要なのは、各アルゴリズムの方法と理由ではなく、状況によっては一部のアルゴリズムがより適切に機能する理由を深く理解することです。それはあなたがどのような状況にあるかを正確に理解しています(インプレースでソートする必要がありますか、リストにアイテムを安く挿入できますか)。それは、最も一般的で柔軟なアルゴリズムを知っており、それらがどのように機能するかについての詳細ではなく、それらが使用されるべきではない状況を知っています。
そして最後に、並べ替えのパフォーマンスが重要なとき(アイテムが多く、多くのアイテムを並べ替える必要があるとき)とそれほど重要ではないとき(アイテムが少なく、並べ替える必要があるとき)です。リストが変更されたとき)。後者の場合は、クイックソートでリストを投げるだけです。オブジェクトが大きい場合は、オブジェクト自体ではなく、オブジェクトのインデックスのリストを並べ替えます。私が専門的に開発してきた過去数十年の間に、もっと調整された、または特定のソートアルゴリズムが必要だった回数を数えることができ、それはおそらく20未満です。
はい、あなたはいつも物事を分類します。一般的な例の1つは、グラフィック呼び出しです。
すべての並べ替えアルゴリズムを頭の中で実行する方法を知る必要があるかどうかは別の質問ですが、少なくとも次のような質問に答えることができるはずです。
これらの状況はすべて、ゲームを含むあらゆる種類のソフトウェアで発生します。
繰り返しますが、これらすべてを記憶する必要はありませんが、並べ替えアルゴリズムの本を開き、それぞれの簡単な説明を読んで、適切なものを選択できる必要があります。これは、時間とスペース(big-O)の要件を理解し、さまざまなソートアルゴリズムがどのように機能するか(マージ、選択、スワッピング)を把握することを意味します。
並べ替えアルゴリズムは就職の面接でも際立って機能します。通常、質問は「クイックソートの実装」ではなく、「入力の種類の説明です。これにはどのソートアルゴリズムが適していますか?」
実行しているゲームプログラミングの種類によっては、並べ替えが必要になる場合がたくさんあります。
独自のソートアルゴリズムを実装する必要があることはまれです。通常、ライブラリから適切な関数を選択するだけです。しかし、ソートアルゴリズムの学習と記述は、アルゴリズムの記述と分析に適した一般的な方法であり、ライブラリから優れたアルゴリズムを選択する場合や、問題の特別な機能が意味する(まれな)ケースを見つける場合に、知識が役立ちます。ジェネリックライブラリルーチンを改善することができます。
ここに簡単な答えを追加します:HIGHSCOREテーブル...
より一般的な答えとして、実際に「フィールド」で独自の並べ替えアルゴリズムを作成したことがない場合でも(結局のところ、Wikipediaで見たことがあると思いますが、平均的な園芸品種の並べ替えはすでに解決済みの問題です)、並べ替えは、プログラマーが必要とする種類の計算の考え方を支援する、コンピューターサイエンスの主要な側面の1つです。それを空手にも使えると気付く前に学ぶ「ワックスオン、ワックスオフ」と考えてください:)