インデックスX(0≦X < 2N)の要素がX xor 3(つまり、Xの2つの最下位ビットが反転されている)の2^Nのサイズを持つ整数の配列を考えてみましょう。この配列の挿入ソートの実行時間はどれくらいですか?2^N配列の挿入ソートの時間の複雑さ?
-1
A
答えて
1
リストがどのように見えるかの構造を調べ、N = 3の場合
{3、2、1、0}
:N = 2の場合
を
{ 3、2、1、0、7、6、5、4}
挿入ソートの場合、1から現在のインデックスまでのリストがソートされているので不変であるため、それぞれステップはcを配置することですそれ以前のソートされた要素の中の正しい場所です。最悪の場合、現在の値を挿入する前に、以前のすべてのインデックスをトラバースする必要があります(リストが逆ソート順である場合を考えてください)。しかし、上記の構造から明らかなように、各値がインデックス^ 3に等しいというプロパティを持つリストの場合、指定されたインデックスから移動しなければならないリストの中で最も遠いものは3です。したがって、あなたはO(n)を挿入段階で一定の要素に作用させなければならない可能性があります。しかし、リストの各要素を調べるためにはまだO(n)の作業をしなければなりません。したがって、この特定のケースでは、挿入ソートの実行時間は入力のサイズに対して線形ですが、最悪の場合は2次です。
関連する問題
- 1. ソートされた配列のN個の挿入操作の時間の複雑さ
- 2. 挿入の時間複雑度ソート基準。 Based Linked-List?
- 3. ソートされたリンクリストにノードを挿入する時間の複雑さ
- 4. 時間複雑ソート
- 5. ループ内でのRBツリーの挿入時間の複雑さ
- 6. 既にソートされた配列の時間複雑度が最小のソートアルゴリズム?
- 7. 配列関数の時間複雑度
- 8. 入力のエンコーディング(時間の複雑さ)
- 9. ソート時の複雑
- 10. ループ内のPythonソートされたメソッドの時間の複雑さ
- 11. 未分類配列のバイナリ検索の時間の複雑さ
- 12. なぜ配列挿入の時間複雑さはO(n)で、O(n + 1)ではないのですか?
- 13. 二重リンクリストを使用した挿入ソートの複雑さ?
- 14. 配列リストを反復する時間の複雑さ
- 15. 時間の複雑さと
- 16. 時間の複雑さは
- 17. 文字列の配列をソートするための最適なアルゴリズムと時間の複雑さ?
- 18. ソートを計算する時間の複雑さ
- 19. 時間の複雑さと空間の複雑さ、空間の複雑さの計算方法
- 20. 複雑::挿入()
- 21. 配列[:: - 1]の複雑さと空間の複雑さは何ですか
- 22. 複数ソートされた配列とその複雑さの検索
- 23. このアプローチの時間の複雑さ
- 24. 空間複雑性:リンクリストノード(ヘッド)の配列
- 25. 時間の複雑さ(入れ子にされたループ)
- 26. 配列の時間の複雑さから最大のJavaを見つける
- 27. zaddのredisでの時間複雑さ
- 28. スライディングウィンドウの時間の複雑さ
- 29. fun()の時間の複雑さ?
- 30. ファイル修正の時間の複雑さ?
なぜこの質問に誰かが投票したのか分かりません。私はそれが解決策を見つけることができなかったので、私は私がここでコミュニティに尋ねるべきだと思ったサーフでした。 – shubhamrock828
これは検索が非常に簡単であるため、あなたはおそらくダウン投票されました。グーグル「挿入ソート時間の複雑さ」は、第2の結果としてhttp://bigocheatsheet.com/を与えました。 – Carcigenicate