quicksort

    0

    1答えて

    通常のパーティションでは、インデックスがi= jの各要素がchoisenピボットより小さく、インデックスm> jの各要素がピボットより大きいjがピボットであるという保証はない。正確に新しいピボット位置を返す場所パーティションアルゴリズムを別の場所に作成することは可能でしょうか? 最初は、最後のポジションでchoisenピボットを動かす必要がありましたが、最適な解決には至りません。

    0

    3答えて

    私は何とか答えを見つけることができなかったという素早く簡単な質問があります。 私は整数配列をソートすることができるquick_srt_intというメソッドを持っていますが、私の問題はオブジェクトから形成された配列であり、特定のサブ値から配列をソートすることができますこれがどのように呼び出されるかについて)。 ちょっとした背景を述べると、これは配列の宣言方法です。 student[index] =

    11

    4答えて

    cでパラレルクイックソートの実装をたくさん検索した後、私は自分自身でダイビングしてコードを作成しようとしています。 (私は約100万のテキスト文字列の配列をソートする必要があります)。私が見つけたすべての実装がqsort関数自体の中で作業を分割していると思われます。スレッドごとの作業量が比較的少ないため、 。 100万の文字列を(私の場合は24個のスレッドの)スレッド数で除算し、セクションごとに処

    2

    3答えて

    私はこの問題をクラスで解決しようと多くの時間を費やしています。私は配列やピボットを選択する他の方法に関する多くのリソースを見つけましたが、私はちょうど終わりであり、本当にここで狂っています。どんな助けも想像できないほど高く評価されます。 #include <stdlib.h> /*and, malloc*/ #include <stdio.h> /*printf*/ struct li

    3

    2答えて

    question origin ... N-1、代わりにと線形時間で配列をソートします。オブジェクトにバイナリデータなどの大きなメンバーが含まれていると仮定すると、オブジェクトの新しいコピーをインスタンス化するのは非常に高価です。 void linearSort(int* input, const int n) { for (int i = 0; i < n; i++) {

    1

    2答えて

    public class Main { public static void main (String args[]) { int nums[]= {2, 3, 4, 5, 6, 7, 8, 9, 0, 1}; for (int index = 0; index < 10; index++) System.out.print(" " +num

    6

    2答えて

    私は何とかO(n logn)の最悪の時間の複雑さを生成するためにクイックソートアルゴリズムを変更できるかどうか疑問に思っていました。これはデータを置換することによって行うことができますが、最悪のケースではなく平均的なケースの複雑さを得ると仮定しています。しかし、これは完全な証明の解決策ではありません。なぜなら、置換後に再び最悪の状態になる可能性があるからです。あなたが示唆することができる他の方法が

    0

    3答えて

    ピボットに基づいてパーティションを分割する簡単な実装を書いています。簡単にするために、配列内の最初の要素をピボット要素とします。以下は、私は以下の配列のために今 public static void partitionOnPivot(int[] a , int lo , int hi) { int pivot = lo; while (lo < hi) {

    3

    1答えて

    私はいくつかのアイデアに基づいて非常に効率的なソートアルゴリズムを開発したいと思います。問題は、既に存在する大多数の評価の高いソートアルゴリズムに対してアルゴリズムの効率をテストしたいということです。 理想的には私が見つけるしたいと思います: 私のアルゴリズムの効率 、既存の大規模なセットと強く最適化されたソートアルゴリズムを私に提供するために重要であるテストを仕分けの大きな束を(自分のコードで

    0

    1答えて

    このスクリプトは、本の第2版の438ページにあります。ここでは、次のとおりです。 function a = quicksort(a, from, to) clear, clc, close all if (from < to) [a p] = partition(a, from, to); a = quicksort(a, from, p); a = quicksort(a, p+1,