2016-07-17 5 views
-2

マージソートの時間複雑さを分析すると、O(log(n))レベルがあり、各レベルはO(n)オペレーションを取るので、時間複雑度はすべてO(nlog 。mergesortの複雑さO(nlogn)+ O(n)?

ただし、分割しないでO(n)を合計しますか?要素の集合の各分割はO(1)をとりますが、O(n)回の合計を分割するので、マージソートの分割部分はO(n)になりませんか?たとえば、8つの要素がある場合は7回、16の要素を持つ場合は15回に分割する必要があります。

したがって、マージソート時間の複雑さ全体を技術的にO(nlog(n))+ O(n)にするべきではありませんか?私はO(nlog(n)+ n)がO(nlog(n))と同じことを知っていますが、マージソートの時間の複雑さの説明でこれを言及する人はいません。

+0

あなたは彼らが同じであることを知っていますが、誰もそう言っていない理由を理解していませんか? –

+0

私はO(n)である削除部分についてどこからでも見ることができないが、最終的には無視されるので、削除プロセスの背後にある論理はO(n)である可能性があると考えている。 – David

+0

これはあなたが尋ねたものではありません。なぜO(n)項がO(n log n)アルゴリズムで無視されたのかと質問しました。他のものと同じように、サブO(n log n)(O(1)など)は無視されます。あなたはすでに理解していると主張しています。 –

答えて

1

O(NログN + Nは)O(NログN)と同じものです。 nログnは、nより速く成長するので、nという用語は無関係です。

関連する問題