検索

ホームページ  >  に質問  >  本文

c++ - if(rand()<p*RAND_MAX) 是在做什么筛选?

PHP中文网PHP中文网2803日前1072

全員に返信(2)返信します

  • ringa_lee

    ringa_lee2017-04-17 15:04:57

    良い知らせを引き寄せるためにレンガを投げる

    rand()0RAND_MAX の間の整数を生成します。その後、p*RAMD_MAX がしきい値に相当します。「サイコロの目」がしきい値よりも低い場合、現在反復処理されている 2 つの点が接続されます。

    返事
    0
  • 高洛峰

    高洛峰2017-04-17 15:04:57

    完全なグラフ内のエッジの数と点の数の関係は次のとおりです: E = V (V-1) / 2、つまり、各点には残りの V-1 点に接続されたエッジがあります。 、p は線形を満たす確率です (必要なエッジの数が多いほど、確率が大きくなり、2 点を結ぶエッジが存在する可能性が高くなり、グラフが完全なグラフに近づきます)。 rand() が [0, RAND_MAX] の間で返すと仮定すると、E が 0 の場合は p=0、E が V(V-1)/2 の場合は p=1 になります。ランダムに生成された rand に基づいて、電流 (i, j) が直接接続されているかどうかを判断します。しかし、これは有向グラフなのでしょうか?

    返事
    0
  • キャンセル返事