Minimice el costo para llegar al final de una ruta recta de N longitudes

Dado un número entero K que denota la capacidad del depósito de combustible de un automóvil que circula al costo de 1 litro/mtr en un camino recto de longitud N metros y dos conjuntos a[] y b[], cada uno de tamaño M, donde a[i] denota la ubicación de la i -ésima estación y b[i] denota … Continue reading «Minimice el costo para llegar al final de una ruta recta de N longitudes»

Puntuación máxima posible de una array con saltos de longitud máxima K

Dada una array arr[] y un entero K , el índice 0 , la tarea es recopilar la máxima puntuación posible realizando las siguientes operaciones:   Comience desde el índice 0 de la array. Alcanza el último índice de la array saltando como máximo los índices K en cada movimiento. Agregue el valor de cada índice … Continue reading «Puntuación máxima posible de una array con saltos de longitud máxima K»

Heap y Priority Queue usando el módulo heapq en Python

Los montones son estructuras de datos en forma de árbol ampliamente utilizadas en las que los Nodes principales cumplen cualquiera de los criterios que se indican a continuación. El valor del Node principal en cada nivel es menor o igual que los valores de sus hijos: min-heap. El valor del Node padre en cada nivel … Continue reading «Heap y Priority Queue usando el módulo heapq en Python»

Cola de prioridad usando Binary Heap

Priority Queue es una extensión de la cola con las siguientes propiedades:   Cada elemento tiene una prioridad asociada. Un elemento con prioridad alta se elimina de la cola antes que un elemento con prioridad baja. Si dos elementos tienen la misma prioridad, se sirven según su orden en la cola. Un montón binario es un … Continue reading «Cola de prioridad usando Binary Heap»

¿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?»

Número máximo de diamantes que se pueden ganar en K minutos

Dada una array arr[] que consiste en N enteros positivos tales que arr[i] representa que la i -ésima bolsa contiene arr[i] diamantes y un entero positivo K , la tarea es encontrar el número máximo de diamantes que se pueden ganar en exactamente K minutos si dejar caer una bolsa toma 1 minuto, de modo … Continue reading «Número máximo de diamantes que se pueden ganar en K minutos»

La ruta más corta desde el origen hasta el destino, de modo que los pesos de los bordes a lo largo de la ruta aumentan y disminuyen alternativamente

Dado un grafo conexo con N vértices y M aristas. La tarea es encontrar el camino más corto desde el origen hasta el vértice de destino de manera que la diferencia entre los pesos de los bordes adyacentes en el camino más corto cambie de positivo a negativo y viceversa ( Peso (E1) > Peso … Continue reading «La ruta más corta desde el origen hasta el destino, de modo que los pesos de los bordes a lo largo de la ruta aumentan y disminuyen alternativamente»

Ruta de costo mínimo desde el Node de origen hasta el Node de destino a través de K Nodes intermedios

Dado un gráfico que consta de N vértices y M aristas ponderadas y una array aristas[][] , en la que cada fila representa los dos vértices conectados por la arista y el peso de la arista, la tarea es encontrar la ruta con la menor suma de pesos desde un vértice de origen dado src … Continue reading «Ruta de costo mínimo desde el Node de origen hasta el Node de destino a través de K Nodes intermedios»

Consultas para encontrar el tipo entero dado más a la izquierda en una array binaria

Dada una array binaria arr[] , la tarea es diseñar una estructura de datos que admita las siguientes operaciones en O(1).   Tipo 1: elimine e imprima el 0 más a la izquierda de la array. Tipo 2: elimine e imprima el 1 más a la izquierda de la array. Tipo 3: elimine e imprima el … Continue reading «Consultas para encontrar el tipo entero dado más a la izquierda en una array binaria»

Cola de montón (o heapq) en Python

La estructura de datos del montón se utiliza principalmente para representar una cola de prioridad . En Python, está disponible usando el módulo “ heapq ”. La propiedad de esta estructura de datos en Python es que cada vez que se extrae el elemento de montón más pequeño (min heap) . Cada vez que se … Continue reading «Cola de montón (o heapq) en Python»