Помогите найти реализцаию алгоритма Divide and Conquer на c#
Я знаю что этот алгоритм очень похож на merge sort, однако я не нашел в интернете его реализацию (функцию) на языке c#
Ответы (1 шт):
Автор решения: Igor Ilyichyov
→ Ссылка
Здесь все подробно описанно: https://www.geeksforgeeks.org/merge-k-sorted-arrays-set-3-using-divide-and-conquer-approach/
Вот кусок divide:
static void divide(int l, int r, int[] output, int [,]arr)
{
if (l == r)
{
/* base step to initialize the output
array before performing merge
operation */
for (int i = 0; i < n; i++)
output[l * n + i] = arr[l, i];
return;
}
// to sort left half
divide(l, (l + r) / 2, output, arr);
// to sort right half
divide((l + r) / 2 + 1, r, output, arr);
// merge the left and right half
merge(l, r, output);
}