タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

randomとFIsher-Yatesに関するhiroyukimのブックマーク (1)

  • Fisher–Yatesアルゴリズムがすごかったです。: PandaNoir

    調べ物をしていたら、Fisher–Yatesというアルゴリズムを見つけました。有名なのかな?とにかく考え方がとてもシンプルでよかったので紹介します。 Fisher–Yatesって何? Fisher–Yatesとは、要するにシャッフルする方法のひとつです。最速です。 どういうアルゴリズム? Fisher–Yatesは、ランダムに配列から抽出して並べていくというものです。そのままですね。では、実装されたコードを紹介します。実物を解説した方が早そうなので。コードは配列を少ない仕事量でシャッフルするFisher-Yates法参照です。 var n = a.length; for(var i = n - 1; i > 0; i--) { var j = Math.floor(Math.random() * (i + 1)); var tmp = a[i]; a[i] = a[j]; a[j] = t

  • 1