- データ構造,アルゴリズム,デザインパターン総合スレ 2
463 :デフォルトの名無しさん[sage]:2014/06/05(木) 13:22:26.50 ID:frJCi6Xi - >>462
xからyまでの個数の配列作って乱数でシャッフル 先頭からz個取得 でいいんじゃないの?
| - データ構造,アルゴリズム,デザインパターン総合スレ 2
466 :デフォルトの名無しさん[sage]:2014/06/05(木) 14:01:49.36 ID:frJCi6Xi - >>464
>先頭から取得するとどうしてても最初のほうの数が選ばれる確率が高くなるのは避けられない。 根拠は? z個取得する位置もランダムで選択してもいいんじゃないの
| - データ構造,アルゴリズム,デザインパターン総合スレ 2
468 :デフォルトの名無しさん[sage]:2014/06/05(木) 14:27:18.69 ID:frJCi6Xi - >>467
配列からz個読み出す初期位置を先頭からズラすって意味なんだけどね
| - データ構造,アルゴリズム,デザインパターン総合スレ 2
473 :デフォルトの名無しさん[sage]:2014/06/05(木) 17:09:28.41 ID:frJCi6Xi - >>470
xとyに大きな隔たり、つまり配列が大きい場合、最終的にz個取り出す位置にもランダム性があれば よりランダム性のあるz個の列を何度も取り出せるって意味合い程度だよ、思いつきだよ シャッフルでありがちな実装ってこんなんかな 乱数生成エンジンが質の良い物ならこんなんでいいと思うけどね int size = 10; int a[size] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; for(int i=size-1; i>0;i--) { int j = rand()%i; swap(a[i], a[j]); }
|
|