Возможно, я был немного неясен:Сортировка нескольких независимых векторов double
Что я хочу сделать, чтобы отсортировать множество векторов как можно быстрее. У меня есть, например, 200 векторов с 200 двойными.
Возможно, я был немного неясен:Сортировка нескольких независимых векторов double
Что я хочу сделать, чтобы отсортировать множество векторов как можно быстрее. У меня есть, например, 200 векторов с 200 двойными.
Поскольку вы не разместили свой код, я предполагаю, что вы ищете лучшую оптимизацию кода для экономии памяти и времени. Попробуйте использовать флаги в своих циклах.
for(i=1;x;i++)
{
sort();
if(flag)
break;
}
«обкатка» гарантирует, что вы не перебрать ненужный код после того, как вы отсортированы данные, флаг указует компилятор, чтобы выйти из оператора цикла, когда итерация comlete. Использование флагов в вложенных циклах еще более важно, поскольку сложность пространства проходит над O (n.square), и это повышает эффективность.
Это экономит много времени на огромном количестве итераций, а также на пространстве памяти. Попробуйте оптимизировать свой код везде, где это возможно, в долгосрочной перспективе имеет большое значение.
Использование сортировки Radix может ускорить ваши виды.
Существует параллельная реализация алгоритма сортировки Radix в Nvidia cuda/openCL SDK.
Возможно, я был немного неясен, я хочу сортировать много векторов. Не один большой. – Johan
Вы хотите отсортировать элементы внутри каждого вектора или хотите отсортировать все векторы (что требуется для дополнительной категории в качестве векторов цифр, не имеют врожденного порядка)? –