¿Qué es un algoritmo y por qué es importante su análisis?

En este artículo, discutiremos por qué el algoritmo y su análisis son importantes. En el análisis del algoritmo, generalmente se centró en el uso de la CPU (tiempo), el uso de la memoria, el uso del disco y el uso de la red. Todos son importantes, pero la mayor preocupación es el tiempo de CPU. … Continue reading «¿Qué es un algoritmo y por qué es importante su análisis?»

Multiplicación en array: consulta de actualización de rango en O (1)

Considere una array A[] de enteros y los siguientes dos tipos de consultas.   update(l, r, x): multiplica x por todos los valores de A[l] a A[r] (ambos inclusive). printArray(): Imprime la array modificada actual. Ejemplos:   Input: A[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1} update(0, 2, 2) update(1, 4, 3) print() … Continue reading «Multiplicación en array: consulta de actualización de rango en O (1)»

Recuento de elementos que son potencia de 2 en un subarreglo de rango dado para consultas Q

Dada una array arr[] que consta de N números positivos y Q consultas de la forma [L, R] , la tarea es encontrar la cantidad de elementos que son una potencia de dos en una subarreferencia [L, R] para cada consulta.  Ejemplos:  Entrada: arr[] = { 3, 8, 5, 2, 5, 10 }, Q = … Continue reading «Recuento de elementos que son potencia de 2 en un subarreglo de rango dado para consultas Q»

Encuentre el número N-ésimo más pequeño que sea divisible por 100 exactamente K veces

Dados dos números N y K . La tarea es encontrar el N’ésimo número más pequeño que se divide por 100 exactamente K veces. Ejemplos:  Entrada: N = 12, K = 2  Salida: 120000  120000 es divisible por 100 exactamente 2 veces y  también es el 12º número más pequeño. Entrada: N = 1000, K … Continue reading «Encuentre el número N-ésimo más pequeño que sea divisible por 100 exactamente K veces»

Minimice el costo de particionar una array en K grupos

Dado un arreglo arr[] y un entero K , la tarea es dividir el arreglo en K grupos no vacíos donde cada grupo es un subarreglo del arreglo dado y cada elemento del arreglo es parte de un solo grupo. Todos los elementos de un grupo determinado deben tener el mismo valor. Puede realizar la … Continue reading «Minimice el costo de particionar una array en K grupos»

Doble SAT es NP Completo

Declaración del problema : dada una fórmula f , el problema es determinar si f tiene dos asignaciones satisfactorias. Explicación : una instancia del problema es una entrada especificada para el problema. Una instancia del problema Double Sat es una fórmula booleana f . Dado que un problema NP-completo es un problema que es tanto … Continue reading «Doble SAT es NP Completo»

Cree una array tal que XOR de subarreglos de longitud K sea X

Dados tres enteros N , K y X , la tarea es construir una array de longitud N , en la que XOR de todos los elementos de cada subarray contigua de longitud K es X . Ejemplos:   Entrada: N = 5, K = 1, X = 4  Salida: 4 4 4 4 4  Explicación:  … Continue reading «Cree una array tal que XOR de subarreglos de longitud K sea X»

La suma del subconjunto es NP completo

Requisito previo: NP-Completitud , Problema de suma de subconjuntos Problema de suma de subconjuntos: dados N enteros no negativos a 1 …a N y una suma objetivo K , la tarea es decidir si hay un subconjunto que tiene una suma igual a K . Explicación: una instancia del problema es una entrada especificada para … Continue reading «La suma del subconjunto es NP completo»

Análisis de Algoritmos | Conjunto 1 (Análisis asintótico)

¿Por qué análisis de rendimiento? Hay muchas cosas importantes que deben cuidarse, como la facilidad de uso, la modularidad, la seguridad, la mantenibilidad, etc. ¿Por qué preocuparse por el rendimiento? La respuesta a esto es simple, podemos tener todas las cosas anteriores solo si tenemos rendimiento. Entonces, el rendimiento es como una moneda a través … Continue reading «Análisis de Algoritmos | Conjunto 1 (Análisis asintótico)»

Encuentra la intersección de los intervalos dados por dos listas

Dadas dos arrays 2-D que representan intervalos. Cada array 2-D representa una lista de intervalos. Cada lista de intervalos está separada y ordenada en orden creciente. Encuentre la intersección o conjunto de rangos que son comunes a ambas listas.  Disjunto significa que ningún elemento es común en una lista. Ejemplo: {1, 4} y {5, 6} … Continue reading «Encuentra la intersección de los intervalos dados por dos listas»