私はポーカー関連のトピックを使ってプログラミングの概念を始めることを教えることを目的とした多くの記事を書いています。現在、シャッフルのテーマに取り組んでいます。
Jeff AtwoodがCodingHorror.comで指摘しているように、1つの単純なシャッフル方法(配列を繰り返し、各カードを配列内の他の場所のランダムなカードと交換する)は、順列の不均一な分布を作成します。実際のアプリケーションでは、より均一なランダム性のためにKnuthFisher-Yatesシャッフルを使用します。しかし、私は、プログラミングの概念の説明を、はるかにコーダーに適さないアルゴリズムで行き詰まらせたくありません。
これは質問につながります:あなたが52枚のカードのデッキの素朴なシャッフルを使用していることを彼らが知っていたら、ブラックハットはどれだけの利点を持っているでしょうか?非常に小さいようです。