mergesort

Контекст Я использую психологический тест, в котором пользователю предъявляются пары изображений, которые он должен указать, какие они предпочитают. Они отвечают на свои предпочтения с помощью клавиши A или L. Если количество изображений достаточно велико, то сравнение всех возможных пар довольно требовател...

Я реализовал параллельный код в C для сортировки слиянием с помощью OPENMP. Я получаю скорость 3,9 секунды, что значительно медленнее, чем последовательная версия того же кода(для которой я получаю 3,6). Я пытаюсь оптимизировать код до наилучшего возможного состояния, но не могу увеличить скорость. Не могли б...

Я пишу простую функцию сортировки слиянием для сортировки на основе заданной функции compar : void merge(int left, int mid, int right, int(*compar)(const void *, const void *)) { // sublist sizes int left_size = mid - left + 1; int right_size = right - mid; // counts int i, j, k; // create lef...

Я пытаюсь написать код для домашнего задания на языке Си, который возьмет 10 целых чисел из пользовательского ввода в массив и отсортирует его с помощью рекурсивной сортировки слиянием. Мы еще не перешли к указателям, поэтому я хотел бы избежать использования этого в своем коде (многие онлайн-примеры использу...

Я программист на C++, я написал этот код, чтобы посмотреть, могу ли я мыслить функционально :) Какие-нибудь намеки, чтобы улучшить его ? (define (append listOne listTwo) (cond ((null? listOne) listTwo) (else (cons (car listOne) (append (cdr listOne) listTwo))))) (define (merge listOne listTwo) (...

Я пытаюсь создать алгоритм сортировки слиянием в MIPS, и я обнаружил ошибку в своем коде. В моей программе я сохраняю ссылки на начальную и конечную точки моего массива ($a0 и $a1 соответственно). Я также отслеживаю его длину как $a1 - $a0 + 4. Проблема в том, что я не знаю, как правильно вычислить среднюю то...

Я учусь алгоритмы из Кормена и Ко. и у меня есть проблема с реализацией merge sort из их псевдокода. Я составил его по: $ gcc -Wall -g merge_sort.c У меня есть проблема, потому что для чисел: 2 4 5 7 1 2 3 6 Результат таков: 1 2 2 3 3 4 5 5 Я попытался внимательно прочитать псевдокод, но это мне ...

Это было предложено мне в интервью, и это решение я предоставил: public static int[] merge(int[] a, int[] b) { int[] answer = new int[a.length + b.length]; int i = 0, j = 0, k = 0; while (i < a.length && j < b.length) { if (a[i] < b[j]) { answer[k...

Java 6's Arrays.sort метод использует Quicksort для массивов примитивов и сортировку слиянием для массивов объектов. Я считаю, что в большинстве случаев Quicksort быстрее, чем сортировка слиянием, и стоит меньше памяти. Мои эксперименты подтверждают это, хотя оба алгоритма являются O(n log(n)). Так почему же...

Я прочитал в форуме следующее: сортировка слиянием очень эффективна для неизменяемые структуры данных, такие как связанные списки и быстрая сортировка обычно быстрее, чем сортировка слиянием, когда данные хранятся в память. Однако, когда набор данных огромный и хранится на внешних устройс...