Minimice la diferencia entre los elementos de array más grandes y más pequeños mediante K reemplazos

Dada una array A[] que consta de N enteros, la tarea es encontrar la diferencia mínima entre el elemento más grande y el más pequeño en la array dada después de reemplazar K elementos. Ejemplos: Entrada: A[] = {-1, 3, -1, 8, 5, 4}, K = 3 Salida: 2 Explicación: Reemplace A[0] y A[2] por … Continue reading «Minimice la diferencia entre los elementos de array más grandes y más pequeños mediante K reemplazos»

Longitud de la subsecuencia más larga con suma negativa de todos los prefijos

Dada una array arr[] que consta de N enteros, la tarea es encontrar la longitud de la subsecuencia más larga de modo que la suma del prefijo en cada índice de la subsecuencia sea negativa. Ejemplos: Entrada: arr[] = {-1, -3, 3, -5, 8, 2} Salida: 5 Explicación: La subsecuencia más larga que cumple la … Continue reading «Longitud de la subsecuencia más larga con suma negativa de todos los prefijos»

Aplicaciones, ventajas y desventajas de Heap

Heap es una estructura de datos especial basada en un árbol donde el tres es siempre un árbol binario completo . Los montones son de dos tipos: Montón máximo y Montón mínimo. En el caso del montón máximo, el Node raíz tendrá un valor más alto que su subárbol, y para el montón mínimo, el … Continue reading «Aplicaciones, ventajas y desventajas de Heap»

Programa Java para encontrar el subarreglo contiguo de suma más grande K-th

Dada una array de enteros. Escriba un programa para encontrar la K-ésima suma más grande de subarreglo contiguo dentro del arreglo de números que tiene números negativos y positivos. Ejemplos:  Input: a[] = {20, -5, -1} k = 3 Output: 14 Explanation: All sum of contiguous subarrays are (20, 15, 14, -5, -6, -1) so … Continue reading «Programa Java para encontrar el subarreglo contiguo de suma más grande K-th»

Combinar los dos primeros elementos mínimos de la array hasta que todos los elementos sean mayores que K

Dada una array arr[] y un entero K , la tarea es encontrar el número de operaciones de combinación necesarias para que todos los elementos de la array sean mayores o iguales que K . Proceso de fusión del elemento –  New Element = 1 * (First Minimum element) + 2 * (Second Minimum element) … Continue reading «Combinar los dos primeros elementos mínimos de la array hasta que todos los elementos sean mayores que K»

Implementación de caché de uso menos frecuente (LFU) – Part 1

El uso menos frecuente (LFU) es un algoritmo de almacenamiento en caché en el que el bloque de caché utilizado con menos frecuencia se elimina cada vez que se desborda la memoria caché. En LFU verificamos la página anterior, así como la frecuencia de esa página y si la frecuencia de la página es mayor … Continue reading «Implementación de caché de uso menos frecuente (LFU) – Part 1»

std::is_heap( ) en C++ con ejemplos

La función std::is_heap() en la biblioteca de plantillas estándar de C++ se usa para verificar si un rango dado de elementos forma Max Heap o no. Devuelve True cuando los rangos de elementos dados forman Max Heap, de lo contrario, devuelve False. Archivo de cabecera: #include <algorithm> Sintaxis: is_heap(first, last) Parámetro: Toma dos parámetros, los … Continue reading «std::is_heap( ) en C++ con ejemplos»

Inserción y eliminación en montones

Eliminación en montón Dado un montón binario y un elemento presente en el montón dado. La tarea es eliminar un elemento de este Heap.   La operación de eliminación estándar en Heap es eliminar el elemento presente en el Node raíz de Heap. Es decir, si es un montón máximo, la operación de eliminación estándar eliminará … Continue reading «Inserción y eliminación en montones»

¿Por qué se prefiere Binary Heap sobre BST para Priority Queue?

Una cola de prioridad típica requiere que las siguientes operaciones sean eficientes. Obtener elemento de máxima prioridad (Obtener mínimo o máximo) Insertar un elemento Eliminar elemento de máxima prioridad Tecla de disminución Un montón binario admite las operaciones anteriores con las siguientes complejidades de tiempo: O(1) O (Iniciar sesión) O (Iniciar sesión) O (Iniciar sesión) … Continue reading «¿Por qué se prefiere Binary Heap sobre BST para Priority Queue?»