これは宿題に関する質問であり、私は複雑さを見つけるのではないが、私は最善を尽くしている!修正後のクイックソートの実行時間= O(Nk)
- スリーウェイ分割は、要素をピボットよりも小さい、等しく、大きいグループに分割するクイックソートの変更です。小さい要素と大きな要素のグループだけが再帰的にソートされる必要があります。 N個のアイテムがあり、ユニークな値がk(つまり重複が多い)がある場合、quicksortに対するこの変更の実行時間はO(Nk)であることを示します。私はアイテムを重複しているサブルーチン(NK)を等しくすることを前提とし :
私の挑戦:平均的なケースで
:
木のサブルーチンはこれらの指標になります
- 最初から:0から(i-1)
- 2番目:i - (i + NK-1))
- 第三の:(iはNK + 1) - (N-1)比較の
- 数=(NK)-1
したがって、
T(n) = (n-k)-1 + Sigma from 0 until (n-k-1) [ T(i) + T (i-k)]
それからそれはしかし非常に悪いスタートであるかもしれないS
を:「私はつもりは続けてるかわからないM $ 希望ヘルプを見つけるために
また、[理論コンピュータ科学(StackExchange)](http://cstheory.stackexchange.com/)もお試しください。 – Groo
クイックソートは、多くの場合平均ケースのみを分析します。それもここにあるのでしょうか、最悪の場合は話していますか? –
@Groo、私はここで答えを見つけるために私の道にあるようだ、thnx! – Sosy