javascript_javascript スキルで非反復乱数を取得する方法の比較

WBOY
リリース: 2016-05-16 19:01:11
オリジナル
997 人が閲覧しました

非繰り返し乱数スキーム 1: 1531 ミリ秒
一般的な考え方は、最初に 1 ~ 3000 の配列を作成し、一度に 1 つずつ取り出し、次に配列を 1 つ減らすことです。 、1つを取り、1つを減らして、二度と繰り返されないようにします。


[Ctrl A すべて選択 注: 外部 Js を導入する必要がある場合は、更新して実行する必要があります
]
重複なし 乱数スキーム 2: 297 ミリ秒

ただし、スキーム 1 では配列を再生成するため、多くのメモリと CPU 操作が必要となり、効率が非常に低くなります。それを改善して、元の配列から数値を取得し、元の配列のこの位置に null の値を割り当てます。このようにして、次回その数値が取得されるときに、その数値が null であると判断された場合、null でなくなるまで取得されません。 テスト後は、効率が大幅に向上します。

[Ctrl A すべて選択 注:
外部 Js を導入する必要がある場合は、更新して実行する必要があります
]
重複なし 乱数スキーム 3: 234 ミリ秒

別の考え方、元の配列の原点を分割し、それを次々に出力すると、
この方法では、ランダム性は決して繰り返されません
プログラム 2 を実行すればするほど、元の配列が null になる頻度が高くなり、演算数が増加するためです。
[Ctrl A すべて選択 注: 外部 Js を導入する必要がある場合は、更新して実行する必要があります ]
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート