シーケンス&リストシャッフラー
Fisher-Yatesアルゴリズムを使用してリスト、シーケンス、データをランダムな順序でシャッフル。
リスト&順序シャッラー:テキスト行・数字・CSV項目をランダム化
教室での発表順の公平な決定、カンニング防止のための選択式クイズ問題のランダム化、音楽プレイリストのシャッフル、ランダムな暗記カードドリルの作成、テストデータセットの順列入れ替えなど、当サイトのランダム順序&リストシャッラーは数学的に偏りのない結果を保証します。
漸近的に最適なFisher-Yates(Knuth)シャッフルアルゴリズムを採用しており、改行、カンマ区切り値(CSV)、スペース区切りの単語、数字列(1からNまで)での分割に対応しています。1.、2.、3. のような順位番号プレフィックスの追加や、Spacebarによる即時再シャッフルも可能です。
Fisher-Yatesアルゴリズム
ソートバイアスを排除します。すべての順列が正確に等しい1/n!の確率で選ばれます。
複数の区切りモード
テキスト行全体、個々の単語、カンマ区切りのリスト、カスタム区切りなど柔軟にシャッフルできます。
番号プレフィックス(1..N)
会議の議題や発表順のために、項目に自動で序数(1., 2., 3.)を付与できます。
100%クライアントサイドのプライバシー
社外秘の議題、学生名簿、個人的なメモがローカルブラウザーの外に出ることはありません。
📊シャッフルアルゴリズムと順列の公平性の比較
| シャッフル方式 | 時間計算量 | 統計的バイアス | 順列の公平性 |
|---|---|---|---|
| Fisher-Yates/Knuth(本ツール採用) | O(n) 線形 | バイアスゼロ(一様な1/n!) | 完全な数学的分布 |
| Array.sort(Math.random - 0.5) | O(n log n) | 強い非一様バイアス | 不完全(特定の順序が3倍出やすい) |
| ランダムキー挿入方式 | O(n log n) | 低〜中程度 | 許容範囲だが計算が遅い |
❓よくある質問
Fisher-Yatesシャッフルアルゴリズムは通常のランダムソートよりなぜ優れているのですか?▾
多くのサイトでは arr.sort(() => Math.random() - 0.5) のような安易な手法が使われていますが、これはソートアルゴリズムの推移性を壊し、深刻な位置バイアスを生みます。Fisher-Yates(Knuth)アルゴリズムはリストを一度だけO(n)で走査し、各要素をランダムに選んだ先行要素と交換することで、n!通りの順列すべてが正確に等しい確率になることを保証します。
カンマ区切り値(CSV)や単語単位でシャッフルできますか?▾
はい!設定から好みの区切り文字を選べます:改行(テキスト行)、カンマ(CSV項目)、スペース(文中の単語)、セミコロン。ツールは選択した形式を保ったまま出力を再結合します。
教師は教室での発表や試験にどう活用していますか?▾
教員は学生名簿を貼り付けて「番号付き出力(1., 2., 3.)」を有効にし、口頭発表の順番をランダムに割り当てます。また、選択肢や試験問題プールを貼り付けて、ランダム化された試験版を作成することもあります。
数字のランダム列(例:1から50)を生成できますか?▾
はい!「数字範囲(1〜N)」プリセットをクリックし、上限値(例:1から100)を入力してください。範囲内のすべての整数を重複なく生成してシャッフルします。
大きなファイルに対する行数の上限はありますか?▾
O(n)アルゴリズムはJavaScriptのメモリ上でネイティブに動作するため、50,000行を超えるリストでも50ミリ秒以内に快適に処理できます。
スペースキーで再シャッフルできますか?▾
はい!入力テキストボックスにフォーカスがない状態でスペースキーを押すと、リストが即座に再シャッフルされ、新しいランダム順が表示されます。