- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:データのシャッフルについて)
データのシャッフルについて
このQ&Aのポイント
- データのランダムな並べ替えについて質問し、JavaScriptの回答をPerlに移植した。公平なランダムの実装を知りたい。
- 質問Q.725588で参考にしたPerlのコードを紹介。@listの要素をランダムに入れ替えるshuffle関数を実装。
- 質問Q.944003では、No.3やNo.4のアルゴリズムになるでしょうか。ソートを使ったアルゴリズムには理解がない。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
PerlのFAQに、 「How do I shuffle an array randomly? (配列をランダムにかき混ぜるには?)」 ――ってのが、あります。質問の中でかかれているのと、そんなに変わらないみたいですが。 また、Perl 5.8.0以降なら、モジュールList::Utilにshuffleという関数が定義されてます。こっちはXSですので、処理速度の面で有利です。
お礼
回答ありがとうございます。 perlのドキュメントにも書いてあったのですね。同じ項に載っていたspliceを使った例なども、とても参考になりました。これらの方法を参考に、どんな風に書くと高速化できるのかなど検証してみたいと思います。 また、Q.944003のNo.2で示されたソートを使った方法というのが気になっており、そのアルゴリズムやコードに関する情報をもう少し待ってみたいと思います。