Clasificación rápida de 3 vías (bandera nacional holandesa) – Part 1

En el algoritmo QuickSort simple , seleccionamos un elemento como pivote, dividimos la array alrededor de un pivote y recurrimos a los subarreglos a la izquierda y derecha del pivote. Considere una array que tiene muchos elementos redundantes. Por ejemplo, {1, 4, 2, 4, 2, 4, 1, 2, 4, 1, 2, 2, 2, 2, 4, 1, … Continue reading «Clasificación rápida de 3 vías (bandera nacional holandesa) – Part 1»

Combine dos arrays ordenadas en O (1) espacio adicional usando la partición QuickSort

Dadas dos arrays ordenadas , arr[] , brr[] de tamaño N y M , la tarea es fusionar las dos arrays dadas de modo que formen una secuencia ordenada de enteros que combinen elementos de ambas arrays. Ejemplos: Entrada: arr[] = {10}, brr[] = {2, 3} Salida : 2 3 10 Explicación: La array ordenada … Continue reading «Combine dos arrays ordenadas en O (1) espacio adicional usando la partición QuickSort»

Minimice el número de mochilas con un peso total W necesario para almacenar el conjunto que contiene elementos superiores a W/3

Dada una array , arr[] y el peso W. La tarea es minimizar la cantidad de mochilas necesarias para almacenar todos los elementos de la array. Una sola mochila puede almacenar un peso total máximo de  W. NOTA: Cada número entero de la array es mayor que (W/3). Ejemplos: Entrada: arr[] = {150, 150, 150, … Continue reading «Minimice el número de mochilas con un peso total W necesario para almacenar el conjunto que contiene elementos superiores a W/3»