質問は次のようになります: 長さn/kのk個のソートされたリストがあります(kはnを分けると仮定します)。 これらのリストを実行時間の複雑さO(k + nlogk)の長さn の1つのリストにマージするアルゴリズムを見つける必要があります。ソートされたリストをマージするアルゴリズムを見つける
私はカップルでリストをマージすることを考えていましたが、 より、マージされたリストを再びカップルでマージするのではなく、そうすることで長さnのソートされたリストを取得します。
私のアルゴリズムの時間計算量を計算すると、必要な時間よりもバッターであるO(nlogk)が得られました。
私の方法が間違っているのだろうかと思っていました。 助けてくれてありがとう!
のリストをすべてマージしてソートリストを作成します。 –
各反復では、リストをマージするためにO(n)が必要であり、ログkの反復があります。 @ KarolyHorvath – Liad
k <= n(常にそうである)と仮定すると、複雑さはO(nlogk) –