kを単独でリンクしたリストをソートし、各リストの最後の要素(リストの最後)で並べ替えた場合(mergesort)、ビッグO(実行時間/時間の複雑さ) ?リスト1〜kのサイズがn_1〜n_kであると仮定します。私はO(k * log(MAX(n_1〜n_k)))を考えていましたが、どのように、なぜ私がその考え方に来たのかはわかりません。k個のソートされたリストをmax要素で並べ替える
1
A
答えて
2
各リストの最大要素を格納するメモリがO(k)単位であると仮定すると、ソートリスト自体をマージする時間、つまり要素をマージする時間はO(sum(N i)+ k * log k)。
各リストの終わりまで正確に1回移動する必要があるため、最初の用語があります。その後、最大値でリストに「タグ付け」し、タグ付きリストに対してマージソートを実行できます。第2項は、マージソートを使用してk個のアイテムをソートすることに由来します。元のリストがソートされたという事実は無関係になります。とにかくリスト全体をトラバースする必要があるからです。
リストが変更可能な場合は、リストを逆順に並べ替えて並べ替えてから、逆に並べ替えることができるため、追加のストレージがなくてもタイミングの複雑さは変わりません。リストを逆にするには、O(sum(N i))が必要なので、時間の複雑さは変わりません。
関連する問題
- 1. リスト要素の長さに応じた並べ替えリストR
- 2. 並べ替えの要素リスト
- 3. リストをソート順に並べ替える
- 4. Pythonソート値リスト、値で並べ替え
- 5. N個のリストの並べ替え
- 6. Python - Pythonタプルのリスト内の個々の要素を並べ替える方法
- 7. Haskellの機能の並べ替え入力リストは、ソートされたリストで
- 8. Symfonyフォーム - CollectionType要素の並べ替え/並べ替え
- 9. 並べ替えソート、ソートされた配列のインデックス0
- 10. 並べ替えAボックス内のN個の要素は?
- 11. DataMapperの要素を並べ替える
- 12. jQueryでリスト要素を並べ替える
- 13. Pythonのリストの並べ替え要素(リストの内包表記)
- 14. Python:リスト内の特定の要素を並べ替える
- 15. 子要素の平均でリストを並べ替えますか?
- 16. スキーム:ピボット要素を並べ替える
- 17. インデックス要素を並べ替える
- 18. 並べ替えの方法配列インデックスで並べ替えられたリスト
- 19. アイソトープコンテナ内の要素を並べ替え
- 20. 長さで並べ替える前にリストをアルファベット順に並べ替える?
- 21. セイルjsソートされたフィールドで並べ替え
- 22. 5要素を最小要素比較で並べ替える
- 23. ソートなしでキーを並べ替えるリスト
- 24. 単独で循環リンクされたリストを並べ替える
- 25. ページ分けされたリストを長さで並べ替え、RoRアプリケーションでアルファベット順に並べ替えます
- 26. ハスケル:ほとんどソートされた配列を並べ替え
- 27. 個数でオブジェクトを並べ替え
- 28. 配列をソートで並べ替え
- 29. ソートされた固定サイズのリスト/ pythonでトップk要素を実行する
- 30. リストのリストを並べ替える