php - 確率的アルゴリズムによるソート
过去多啦不再A梦
过去多啦不再A梦 2017-05-24 11:33:58
0
2
602

各確率区間で結果が得られるように、確率に従ってデータを並べ替えるにはどうすればよいですか?

たとえば、次のようなデータセットがあるとします

リーリー

Key は並べ替える値、value は配列内のその位置に各値が出現する確率です。たとえば、配列内の位置 0 に が出現する確率は 40% です。計算された配列、a は 40% です。機会が配列の最初に表示され、残りは確率に従ってアルゴリズムで並べ替えられます。

私の現在の解決策 (Low の方法であり、配列が拡張するにつれてサポートし続けることはできません):
1. a の間隔が 0 ~ 40、b であると仮定して、既存の確率に従って間隔を分割します。は 40 ~ 60、c は 60 ~ 70 などになります。
2.関数を使用して 1 ~ 100 の範囲の乱数を取得し、結果をスローします (つまり、対応する範囲に入れます)。 )

コードは以下の通りです(最適化アイデア募集中)

リーリー

発生した問題: (in_array の判定は、これらの間隔の値が 1 回しか計算できないため)
1. 計算された値が各間隔の値を持つとは限りません
2. コード Noスケーラビリティ

また、アドバイスをいただければ幸いです、アドバイスをお願いします、みなさん、ありがとうございました!

过去多啦不再A梦
过去多啦不再A梦

人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!