Articles of recursión

¿Hay alguna manera de hacer bucles nesteds de n niveles en Java?

En otras palabras, ¿puedo hacer algo como for() { for { for { } } } Excepto N veces? En otras palabras, cuando se llama al método que crea los bucles, se le da algún parámetro N, y el método entonces crearía N de estos bucles nesteds uno en otro? Por supuesto, la idea es […]

¿Cómo funciona la función recursiva de fibonacci “funcionar”?

Soy nuevo en Javascript y estaba leyendo sobre ello, cuando llegué a un capítulo que describía la función recursiva. Utilizó una función de ejemplo para encontrar el enésimo número de la secuencia de Fibonacci. El código es el siguiente: function fibonacci(n) { if (n < 2){ return 1; }else{ return fibonacci(n-2) + fibonacci(n-1); } } […]

Escribir foldl usando foldr

En Real World Haskell , Capítulo 4. Progtwigción funcional Escribe foldl con foldr: — file: ch04/Fold.hs myFoldl :: (a -> b -> a) -> a -> [b] -> a myFoldl fz xs = foldr step id xs z where step xga = g (fax) El código anterior me confundió mucho, y un tipo llamado dps […]

Recursive Anonymous Function Matlab

Sé que esto no es para lo que están hechas las funciones anónimas, pero solo como un rompecabezas intenté hacer una función recursiva a través de funciones anónimas. El prototipo de funciones recursivas obviamente es la función factorial. El problema es que es difícil hacer una distinción de caso dentro de las funciones anónimas. Lo […]

Generar código de operación de cola

Por curiosidad, estaba tratando de generar un código de operación de llamada de cola usando C #. Fibinacci es fácil, así que mi ejemplo c # se ve así: private static void Main(string[] args) { Console.WriteLine(Fib(int.MaxValue, 0)); } public static int Fib(int i, int acc) { if (i == 0) { return acc; } return […]

Implementación de C # de la comparación de objetos profunda / recursiva en .net 3.5

Estoy buscando una implementación de código abierto específico (o código fuente disponible) de C # de comparación de objetos recursiva o profunda. Actualmente tengo dos gráficos de objetos en vivo que comparo entre sí, y el resultado de la comparación es un conjunto de discrepancias en los gráficos. Los objetos son instancias de un conjunto […]

Buscando archivos en directorios recursivamente

Tengo el siguiente código para buscar recursivamente archivos a través de un directorio, que me devuelve una lista de todos los archivos xml. Todo funciona bien, excepto que los archivos xml en el directorio raíz no están incluidos en la lista. Entiendo por qué, ya que lo primero que hace es obtener los directorios en […]

Astackmiento de lista recursiva

Probablemente podría escribir esto yo mismo, pero la forma específica en que estoy tratando de lograrlo es echarme. Estoy intentando escribir un método de extensión genérico similar a los otros introducidos en .NET 3.5 que tomará un IEnumerable nested de IEnumerables (y así sucesivamente) y lo aplanará en un IEnumerable. ¿Alguien tiene alguna idea? Específicamente, […]

Comprender la recursividad para generar permutaciones

Encuentro recursividad, aparte de las más directas como factoriales, muy difíciles de entender. El siguiente fragmento imprime todas las permutaciones de una cadena. ¿Alguien puede ayudarme a entenderlo? ¿Cuál es el camino a seguir para comprender la recursión correctamente? void permute(char a[], int i, int n) { int j; if (i == n) cout << […]

¿Por qué la profundidad de recursión máxima que puedo alcanzar no es determinista?

Decidí probar algunos experimentos para ver qué podía descubrir sobre el tamaño de los marcos de stack y qué tan lejos estaba el código que se estaba ejecutando. Hay dos preguntas interesantes que podríamos investigar aquí: ¿Cuántos niveles hay en la stack del código actual? ¿Cuántos niveles de recursión puede alcanzar el método actual antes […]