Нормально ли, что быстрая сортировка занимает 5 часов для массива из 100 000 000 элементов?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Нормально ли, что быстрая сортировка занимает 5 часов для массива из 100 000 000 элементов?

Сообщение Anonymous »

Реализация базового алгоритма с использованием последнего массива в качестве опорного элемента в Java. Нормально ли, что сортировка массива случайных чисел из 100 000 000 элементов занимает 5 часов?

Характеристики моей системы:
Mac OS X Lion 10.7.2 (2011 г.)
Intel Core i5 2,3 ГГц
8 ГБ оперативной памяти

Update2: Думаю, я делаю что-то не так в других методах, поскольку Нарендра смог запустить быструю сортировку. Вот полный код, который я пытаюсь запустить.

import java.util.Random;

public class QuickSort {
public static int comparisons = 0;

public static void main(String[] args) {
int size = 100000000;
int[] smallSampleArray = createArrayOfSize(size);

System.out.println("Starting QS1...");
long startTime = System.currentTimeMillis();
quickSort(smallSampleArray,0,size-1);
System.out.println( "Finished QS1 in " + (System.currentTimeMillis() - startTime)+ " seconds");
System.out.println("Number of comparisons for QS1: " + comparisons);

}

public static int[] createArrayOfSize(int arraySize) {
int[] anArray = new int[arraySize];
Random random = new Random();

for(int x=0; x < anArray.length; x++ ) {
anArray[x] = random.nextInt(1000) + 1;;
}
return anArray;
}

public static void quickSort( int anArray[], int position, int pivot) {

if( position < pivot ) {
int q = partition(anArray, position, pivot);

quickSort(anArray, position, q-1);
quickSort(anArray, q+1, pivot);

}

}

public static int partition(int anArray[], int position, int pivot ) {
int x = anArray[pivot];
int i = position - 1;

for(int j = position; j < (pivot-1); j++ ) {
comparisons++;
if(anArray[j]

Подробнее здесь: https://stackoverflow.com/questions/793 ... ment-array
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»