quicksort

    0

    2答えて

    class test { static int arr[]={1,6,3,4,5,8,11}; static int s=0,temp=0,e=0; public static void main(String [] args)throws Exception { QS(arr,0,arr.length-1); for(int i=0

    2

    1答えて

    次のコードは正常に動作していますが、ランダムピボット要素を使用するようにアルゴリズムを変更する方法を教えてください。代わりに以下の 、iはランダムにピボット要素を選択する、任意のヘルプは int pivot = arr[(left + right)/2]; import java.util.Random; public class QuickSort { /**

    1

    1答えて

    これは私が持っているものであり、動作しません。理由を理解できません...問題はおそらくquick_sort関数にあります。 #include <stdio.h> #include <stdlib.h> void quick_sort(int * a, int l, int r); void swap(int * a, int i, int j); int main(void) {

    4

    1答えて

    「アルゴリズムの紹介」の「クイックソート」の章で説明したクイックソートアルゴリズムでは、Hoare-Partitioningは使用されていません。 誰でも、普及したホーレパーティション化よりもこのアプローチの利点を私に教えてもらえますか?それとも、それは著者のための選択の問題なのでしょうか?

    0

    3答えて

    ピボットをさまざまな方法で選択すると、着信arraylistの最後の要素以外のものを選択するときにスタックオーバーフローエラーが発生しました。 「中央値3」の選択では、それが最も起こっている場所です。 public static <T> void quickSort (ArrayList<T> incomingArray, Comparator<? super T> cmp, int start,

    6

    2答えて

    クイックソルトの次のコードは機能しません。理由は何か分かりません。 #include <iostream> using namespace std; void exch(int a[],int i,int j){ int s=a[i]; a[i]=a[j]; a[j]=s; } int partition(int a[],int l,int h); voi

    7

    2答えて

    クイックソートではなくリストをソートする際に、マージオールが「行く方法」と考えられるのはなぜですか? 私はオンラインで見た講義でこれを聞き、いくつかのウェブサイトで見ました。

    1

    1答えて

    私はピボットが3つの数字、ボトム、ミドル、およびトップの中央値になることを読んだ。しかし、それはオーバーフローを生成する可能性がありますか?中央値が配列のサイズより大きな値を返すとどうなりますか? この選択肢は、配列の値が配列のサイズよりも長くなることができないと仮定していると仮定します。 私はピボットが本当に何であるか混乱していると思います。

    3

    1答えて

    :次のようにそれを使用して function quickSort(array, low, high) { var len = array.length, l = low || 0, r = high || len - 1, m = Math.round((l + r)/2), t; do { while (array

    3

    4答えて

    現在クイックソートを勉強中で、最初の(または最後の)要素がピボット点として選択されたときの動作を知りたいと思います。 言ってやる例えば、私は次の配列があります。 {15, 19, 34, 41, 27, 13, 9, 11, 44} をこれは私が考えるものであることが起こります。 {15, 19, 34, 41, 27, 13, 9, 11, 44} ^ pivot {15, 19,