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»

Vista inferior de un árbol binario usando recursividad

Dado un árbol binario, la tarea es encontrar la vista inferior de un árbol binario usando recursividad. Ejemplos: Input: 1 \ 2 \ 4 / \ 3 5 Output: 1 3 4 5 Input: 20 / \ 8 22 / \ / \ 5 10 21 25 / \ 9 14 Output: 5 9 21 … Continue reading «Vista inferior de un árbol binario usando recursividad»

Encuentre F(n) cuando se dan F(i) y F(j) de una secuencia

Dados cinco enteros i, F i , j, F j y N . Donde F i y F j son el término i -ésimo y j -ésimo de una secuencia que sigue la recurrencia de Fibonacci , es decir , F N = F N – 1 + F N – 2 . La tarea … Continue reading «Encuentre F(n) cuando se dan F(i) y F(j) de una secuencia»

Imprime todas las combinaciones de una string en orden lexicográfico

Dada una string str, imprime todas las combinaciones de una string en orden lexicográfico. Ejemplos:   Input: str = «ABC» Output: A AB ABC AC ACB B BA BAC BC BCA C CA CAB CB CBA Input: ED Output: D DE E ED Enfoque: cuente las ocurrencias de todos los caracteres en la string usando un … Continue reading «Imprime todas las combinaciones de una string en orden lexicográfico»

Imprima todas las formas posibles de convertir una string en otra string | Editar-Distancia

Prerrequisito: Programación Dinámica | Conjunto 5 (Editar distancia)  Dadas dos strings str1 y str2, la tarea es imprimir todas las formas posibles de convertir ‘str1’ en ‘str2’. A continuación se muestran las operaciones que se pueden realizar en «str1»:   Insertar Remover Reemplazar Todas las operaciones anteriores son de igual costo. La tarea es imprimir todas las … Continue reading «Imprima todas las formas posibles de convertir una string en otra string | Editar-Distancia»

Comprobar si dos árboles tienen la misma estructura

Dados dos árboles binarios. La tarea es escribir un programa para verificar si los dos árboles tienen una estructura idéntica.  En la figura anterior, ambos árboles, Tree1 y Tree2, tienen una estructura idéntica. Es decir, tienen la misma estructura. Nota : este problema es diferente de Verificar si dos árboles son idénticos , ya que … Continue reading «Comprobar si dos árboles tienen la misma estructura»

Recursividad en Java

¿Qué es la recursividad? El proceso en el que una función se llama a sí misma directa o indirectamente se llama recursividad y la función correspondiente se llama función recursiva. Usando el algoritmo recursivo, ciertos problemas se pueden resolver con bastante facilidad. Ejemplos de tales problemas son Towers of Hanoi (TOH) , Inorder/Preorder/Postorder Tree Traversals … Continue reading «Recursividad en Java»

Ordenar la array usando ordenación lenta

Dada una array arr[] que consta de N enteros, la tarea es ordenar la array dada en orden ascendente utilizando la ordenación lenta. Ejemplos: Entrada: arr[] = {6, 8, 9, 4, 12, 1} Salida: 1 4 6 8 9 12 Entrada: arr[] = {5, 4, 3, 2, 1} Salida: 1 2 3 4 5 Fusionar … Continue reading «Ordenar la array usando ordenación lenta»

Recorrido de orden de nivel con cambio de dirección después de cada dos niveles | Enfoque recursivo

Dado un árbol binario, imprima el recorrido de orden de nivel de tal manera que los primeros dos niveles se impriman de izquierda a derecha, los siguientes dos niveles se impriman de derecha a izquierda, luego los dos siguientes de izquierda a derecha y así sucesivamente. Entonces, el problema es invertir la dirección del recorrido … Continue reading «Recorrido de orden de nivel con cambio de dirección después de cada dos niveles | Enfoque recursivo»

Encuentra el término n de una relación de recurrencia dada

Sea a n una secuencia de números, que está definida por la relación de recurrencia a 1 =1 y a n+1 /a n =2 n . La tarea es encontrar el valor de log 2 (a n ) para un n dado . Ejemplos:   Input: 5 Output: 10 Explanation: log2(an) = (n * (n – … Continue reading «Encuentra el término n de una relación de recurrencia dada»