mergesort

    1

    1答えて

    マージソートアルゴリズムを作成しようとしましたが、どこが間違っているのか分かりません。私が間違ったことを私に見せてもらえますか?アルゴリズムを使っていくつかの有用なリソースや練習を提案しますか?マージで public class MergeSort { private int[] auxArray; public void sort(int[] array) { auxArra

    0

    1答えて

    このチュートリアルの後にCでマージソートをどのように並列化するかを学んでいます http://elc.yonsei.ac.kr/courses/csi2110/PP-L05-ScalableAlgorithmicTechniques.pdfしかし時にはうまくいきます。私は約10回、ターミナルでコードを実行し、ときどきセグメンテーションフォールトを取得します。他の回は、私の配列で乱数を得るか、時には

    1

    2答えて

    次のコードは、配列内の逆位の数スタックエラー、RangeError:基本ケースが定義されている場合でも、最大呼び出しスタックサイズを超えてしまうまで、常に再帰的にサブ問題に分割されます。ここで問題になる可能性のあるもの function mergeSort(arr) { var n = arr.length; var l=0,h=n-1; if (l<h) {

    -2

    1答えて

    私はmergesort関数をC++で記述しました。そこでは関数の上限の間違った値(配列の範囲外)を渡します。 int a[]={6,5,2,4,6,78,88,76,33,44,54,212,344,56,677}; int n=sizeof(a)/sizeof(a[0]); printf("n=%d\n",n); merges(a,0,n); // if should be 'merges

    1

    1答えて

    を返さない私の実装です:私はそれ私のマシンがクラッシュを実行したときに mergesort :: (Ord a) => [a] -> [a] mergesort list = merge (mergesort (left list)) (mergesort (right list)) where left xs = take (div (length xs) 2) xs

    0

    1答えて

    のPythonのスレッドではじまり、最初はジョブが2つのスレッドに分割されるマージソートを実装しようとしています。私はcollections.deque,itertools.islice,threading.Threadを使用しています。 私は最初に2つのスレッドを作成し、通常はジョブの半分ずつ行います。その後、それらを結合して結果をマージします。しかし、は、2つのスレッドで通常より長く(約2倍の

    -2

    1答えて

    マージソートの時間複雑さを分析すると、O(log(n))レベルがあり、各レベルはO(n)オペレーションを取るので、時間複雑度はすべてO(nlog 。 ただし、分割しないでO(n)を合計しますか?要素の集合の各分割はO(1)をとりますが、O(n)回の合計を分割するので、マージソートの分割部分はO(n)になりませんか?たとえば、8つの要素がある場合は7回、16の要素を持つ場合は15回に分割する必要があ

    1

    1答えて

    私のマージソートに問題があります。ソートされた配列を印刷すると[0.0、0.0 .....]しか返されません。ソートコードにエラーがある私のプリントラインで、またはダブルスと関係があるかどうかを確認してください。私のコードは私たちの下に掲載されています。 (のtoString(sortedArray)のSystem.out.printlnを呼び出すことによって 私はもっとあいまいな答えを得る。任意

    0

    1答えて

    これはまさにマージソートではなく、アルゴリズムはマージソートを使って配列内の逆数を数えます(基本的に私は単純な行を追加しました) テキストファイルから100,000の異なる整数を読み込んでマージするのに2.415秒かかります同じ問題(coursera.com)を解決した他の人は、0.5秒未満で解決したと答えた ここで私のコードは何ですか?おそらくファイルを読む?私が見ることができたおかげで #in