タグ付けされた質問 「mergesort」


10
マージソートアルゴリズムを使用してインプレースでソートする方法は?
質問は具体的すぎません。 私が欲しいのは、通常のマージソートをインプレースマージソート(または一定の余分なスペースオーバーヘッドがあるマージソート)に変換する方法を教えてくれる人です。 (ネット上で)見つけることができるのは、「複雑すぎる」または「このテキストの範囲外」と言っているページだけです。 (余分なスペースなしで)インプレースでマージする唯一の既知の方法は複雑すぎて、実用的なプログラムに削減できません。(ここから取得) 複雑すぎても、マージソートをインプレースにする方法の基本的な概念は何ですか?

30
2つのソートされた配列をソートされた配列にマージする方法は?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する これはインタビューで私に尋ねられました、そしてこれは私が提供した解決策です: public static int[] merge(int[] a, int[] b) { int[] answer = new int[a.length + b.length]; int i = 0, j = 0, k = 0; while (i < a.length && j < b.length) { if (a[i] < b[j]) { answer[k] = a[i]; i++; } else …

6
JavaのArrays.sortメソッドは、異なる型に対して2つの異なるソートアルゴリズムを使用するのはなぜですか?
Java 6のArrays.sortメソッドは、プリミティブの配列にはQuicksortを使用し、オブジェクトの配列にはマージソートを使用します。ほとんどの場合、クイックソートはマージソートよりも高速で、メモリの消費量も少ないと思います。私の実験は、両方のアルゴリズムがO(n log(n))ですが、それをサポートしています。では、なぜ異なるタイプに異なるアルゴリズムが使用されるのでしょうか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.