2016-10-29 23 views
-2

私はn入力数とnバケットを持つバケットソートアルゴリズムに関連する問題を解決するのに役立つ必要があります。この本から得た例では、アイテムの確率が特定のバケットに落ちるという問題が示されています。これは等しい=   です。
ここでは、nバケットがあり、nの数値(範囲0〜1)をランダムに生成するという問題が見つかりました。生成された数字yが> 0.5であれば、コインを投げる。コインが「HEAD」になると、y = y-0.5となります。
質問は以下のとおりです。確率が等しくないときのバケットソートの期待値

  1. Yは最初のバケットに陥る確率は何ですか?
  2. 数字yが最後のバケットに入る確率はいくらですか?
  3. このバケットソートの平均実行時間を得るための期待値を計算するにはどうすればよいですか?

ありがとうございます。確率1/2

答えて

0
    • Y未満1/2あります。これに条件付けられ、確率は2/nで、最初のバケットに入ります。確率/2
    • Y1/2より大きい。これに基づいて、最初のバケットに入る確率は(1/2)(2/n)です。

    • 合計確率定理により、確率は1.5/nです。対称性によって、これはバケットの前半のそれぞれについて真です。

  1. 確率はバケットの最初の半分の各々について1.5/Nあるので、後半の各々に対する確率は、対称性により、ある(1 - (N/2)(1.5/n))/(0.5n)= 0.5/nである。

  2. 期待は線形です。期待の線形性によって、期待値は各バケットを(2次的に)ソートする時間の期待値の合計です。第1バケットおよび第2バケットのそれぞれは、一定の予想時間を有する。証明は本質的に古典的なバケットソートの場合と同じです。バケットあたりの分布は、パラメータがα/nαのBernoulliです。

+0

ありがとうございました。しかし、私はまだこれを理解していません。 1.「対称性によって、これはバケツの前半のそれぞれに当てはまります。 1-(1。5/n)はすべての最初の半分のバケットに当てはまりますか? 2.これについても説明してください:(1 - (n/2)(1.5/n))/(0.5n)= 0.5/n?なぜそれを(0.5n)で割りますか? – mskeira

+0

@mskeiraこのバケットに関して使用された唯一のものは、それが前半にあったことです(たとえば、最初のバケットではありません)。 2番目のバケットの確率を計算すると、同じことが起こります。次のバケットの確率は同じになります。後半の最初のバケットについては、真ではありません。 –

+0

「なぜそれを(0.5n)で割りますか?」右半分に0.5nのビンがあります。 –

関連する問題