Recursividad con C# (2)


Recursividad con C# (2)

Como lo prometido es deuda, empezaremos esta segunda parte del minicurso de Recursividad en C# con el clásico Hanoi, y luego hablaremos sobre algunas técnicas asociadas al uso de la recursividad, como son “Backtracking” y “Divide y Vencerás”. Además, resolveremos paso a paso varios de los clásicos problemas de recursividad. Seguir leyendo →

Recursividad con C# (1)

El concepto de recursividad es uno de los más complejos y díficiles de entender en la programación orientada a objetos. Lo trataré de explicar con algunas ideas y algún ejemplo.

En la vida hay muchos conceptos que se utilizan a si mismos para explicarse. Una rama de un árbol a su vez tiene ramas, que a su vez puede tener ramas y así sucesivamente hasta que aparecen ramas que solo tienen hojas. Seguir leyendo →

Arrays en C#

En programación un array es una zona de almacenamiento que contiene elementos de un mismo tipo (enteros, boléanos, fechas). En principio todos las arrays son de una dimensión, pero veremos que sus elementos pueden ser a su vez arrays (un proceso que puede ser recursivo), es por esto que se habla de arrays multidimensionales, aunque las más fáciles de “ver” o imaginar son las de dos (un tablero de ajedrez) y tres dimensiones (el cubo de Rugby).
Seguir leyendo →