Algoritmo en el lugar

In-place tiene más de una definición. Una definición estricta es.  Un algoritmo in situ es un algoritmo que no necesita espacio extra y produce una salida en la misma memoria que contiene los datos transformando la entrada ‘in situ’. Sin embargo, se permite un pequeño espacio adicional constante utilizado para las variables. Una definición más … Continue reading «Algoritmo en el lugar»

Diferencia entre recursividad e iteración

Un programa se llama recursivo cuando una entidad se llama a sí misma. Un programa se llama iterativo cuando hay un bucle (o repetición). Ejemplo: Programa para hallar el factorial de un número   C++ // C++ program to find factorial of given number #include<bits/stdc++.h> using namespace std;   // —– Recursion —– // method to … Continue reading «Diferencia entre recursividad e iteración»

Recuento de pares de consonantes de vocales adyacentes

Dada una string, la tarea es contar el número de pares adyacentes de modo que el primer elemento del par sea una consonante y el segundo elemento sea una vocal. Es decir, encuentre el número de pares (i, i+1) tales que el i-ésimo carácter de esta string sea una consonante y el (i+1)-ésimo carácter sea … Continue reading «Recuento de pares de consonantes de vocales adyacentes»

Compensación espacio-tiempo en algoritmos

En este artículo, discutiremos la compensación espacio-tiempo en los algoritmos. Una compensación es una situación en la que una cosa aumenta y otra disminuye. Es una forma de resolver un problema en: Ya sea en menos tiempo y utilizando más espacio, o En muy poco espacio pasando mucho tiempo. El mejor algoritmo es el que … Continue reading «Compensación espacio-tiempo en algoritmos»

Substring más grande donde todos los caracteres aparecen al menos K veces | conjunto 2

Dada una string str y un entero K , la tarea es encontrar la longitud de la substring S más larga tal que cada carácter en S aparezca al menos K veces. Ejemplos: Entrada: str = “aabbba”, K = 3 Salida: 6  Explicación:  En la substring aabbba, cada carácter se repite al menos k veces … Continue reading «Substring más grande donde todos los caracteres aparecen al menos K veces | conjunto 2»

Aspersores mínimos necesarios para regar un parque rectangular

Dado N * M parque rectangular que tiene N filas y M columnas, cada celda del parque es un cuadrado de unidad de área y los límites entre las celdas se denominan hexágono y se puede colocar un rociador en el medio del hexágono. La tarea es encontrar el número mínimo de aspersores necesarios para … Continue reading «Aspersores mínimos necesarios para regar un parque rectangular»

Número de formas de colorear bloques NK usando la operación dada

Dados N bloques, de los cuales K está coloreado. Estos bloques de color K se indican mediante una array arr[] . La tarea consiste en contar el número de formas de colorear los bloques restantes sin colorear, de modo que solo cualquiera de los bloques adyacentes, de un bloque coloreado, pueda colorearse en un solo … Continue reading «Número de formas de colorear bloques NK usando la operación dada»

La igualdad de subconjuntos es NP completa

Problema de igualdad de subconjuntos : Dado un conjunto S de valores enteros no negativos, el problema es identificar si hay una partición del conjunto S en dos conjuntos X e Y , tal que la suma de enteros en X es igual a la suma de enterosen Y. Explicación : una instancia del problema … Continue reading «La igualdad de subconjuntos es NP completa»

Consultas en array con elementos que desaparecen y reaparecen

Dada una array, arr[] de tamaño N . Cada segundo, un número entero desaparece durante N segundos y después de N segundos, vuelve a aparecer en su posición original. Los enteros desaparecen en el orden de izquierda a derecha arr[0], arr[1], …, arr[N – 1] . Después de que desaparecen todos los enteros, comienzan a … Continue reading «Consultas en array con elementos que desaparecen y reaparecen»

Complejidad ciclomática

La complejidad ciclomática de una sección de código es la medida cuantitativa del número de caminos linealmente independientes en ella. Es una métrica de software utilizada para indicar la complejidad de un programa. Se calcula utilizando el gráfico de flujo de control del programa. Los Nodes en el gráfico indican el grupo más pequeño de … Continue reading «Complejidad ciclomática»