mergesort

    0

    2答えて

    現在、CSVファイルの束を読み込んで、CSVファイルのすべてのデータからなる1つの大きなソートCSVファイルを出力するマルチスレッドソーターを作成しています。今は、mergesortを使用して個々のスレッドの各CSVをソートし、最後にスレッドのすべてのデータを連結してソートすることを計画しています。私はちょうどmergesortを使用することが "速い"と考えられるかどうか不思議です。スレッドがソ

    2

    1答えて

    私はすべてのケースで(n logn)マージソートの複雑さを知っていますが、カットやパーティションが一方の側で4、他側で5のような不均衡の場合はどうですか? 9素子アレイがので、この不均衡は、n LOGNから変更する複雑さを生じない,,, 4指標でカットを有するであろう... などがNクイックソートのような任意の他の形態にログから、それが変化し最も良い場合はn lognですが、不均衡ピボットの原因が

    1

    1答えて

    私は次のMergeSortクラスを持っています。私は比較とスワップのカウンターを実装する必要があります。私の比較とスワップカウンターが正しい場所にあるかどうか確認してもらえますか? ご覧のとおり、スワップカウンタと比較カウンタの2つのクラスプロパティがあります。私が正確にポジティブではないところは、A)swapCountとcompareCount(runSortメソッドまたはmergeSortメソ

    -1

    1答えて

    void merge(vector<Flight>& data, int low, int high, int mid, string criteria) { int i, j, k, temp[high - low + 1]; ... エラーは、パラメータ "high"(行100で宣言されています)の値を定数として使用できません。私はこの質問にオンラインで適切な答えを見つけることはでき

    0

    2答えて

    私はこの質問を解決しようとしています: 再帰関数を定義します。次のように指定できるマッチソート を実装するmsort :: Ord a => [a] - > [a] 2つのルール: 長さ1のリストは既にソートされています。 他のリストは、2つの半分をソートし、 結果リストをマージすることによってソートすることができます。 しかし、コードのマージソートがどのくらい正確に行われているかを理解するのは苦

    0

    1答えて

    正しく動作するmergesort関数を実装しましたが、ソート前に元の配列の逆数を数えるために変更するのは苦労しています。 反転i < j but a[i] > a[j]例えば、a = [5,2,1] 3つの反転有する対である:(5,2),(5,1),(2,1) def mergeSort(a): mid = len(a)//2 if len(a) < 2: re

    -4

    1答えて

    I持って、次のソートアルゴリズム:オンラインまたはオフライン種類あり、それらの Bubble Sort, Selection Sort, Heap Sort, Merge Sort, Quick Sort, Insertion Sort ? ありがとうございます。

    0

    1答えて

    私はインプレースマージソートアルゴリズムをpython3で実装しています。コードは入力配列をとり、入力配列の長さが複数の場合は、それを自己再帰的に(分割配列を入力として)呼び出します。その後、2つのソートされた配列を結合します。ここでは、コードのコードがテストされている場合今 def merge_sort(array): """ Input : list of values

    0

    2答えて

    パラレルマージを使用して並列マージソートを作成するにはどうすればよいですか?私はインターネット上で擬似コードを見つけられませんでした。私は、左と右の2つのスレッドを生成することによって、mergesortの最初の部分を並列化する方法しか知りませんでしたが、どうすればマージを並列化できますか?これは並列化が必要なマージのコードです。 public static int[] merge(int[] l

    1

    2答えて

    mergesortは分裂と征服によって理解できます。一定の時間内にソートできるか、またはリストが1つだけのもので、リストをマージするまで、 。 def mergesort(l): if len(l)<=1: return l l1 = l[0:len(l)//2+1] l2 = l[len(l)//2:] l1 = mergesort(l1)