martes, 17 de febrero de 2009

Cómo entender la recursividad

Uno de los profesores que más admiro supo definir la recursividad de una manera muy locuaz, pequeña y por supuesto incomprensible (a menos que supieras recursividad):

"Para entender que es la recursividad, primero debe entender qué es la recursividad"

Para aquellos que aún no saben que es, en el entorno de sistemas, paso a definirla:

  1. Si ya tiene claro el concepto de recursividad, puede parar aquí. Esta parte es muy importante porque de lo contrario le darás vueltas todo el día.
  2. Debes saber que en cada paso recursivo, o vuelta, o loop, debes avanzar un poco, algo que te diga explicitamente cuantas vueltas o recursiones has dado, en este caso, entender porqué es recursivo (un poquitico cada vez).
  3. Además de avanzar, debes hacer una acción, algo que equivalga el hacer una acción repetitiva hasta cierto punto. Solo para el ejemplo, da una palmada cada vez que pases por este paso.
  4. Al final de toda recursión, debe volver a llamarse a sí mismo, esta es la clave de la recursión. Como esto no es un lenguaje de programación, lo emularemos simplemente diciendole que vuelva al paso 1.

6 comentarios:

Mauro Z dijo...

Y creo que la pregunta necesaria para nuestros lectores es ¿cuantas palmadas diste al leer este artículo?

Estoy seguro que podríamos encontrar cualquier cantidad de números (eso si, si alguno responde Pi, e, o algo por el estilo, debe sentirse obligado a explicar como lo hizo)

kxi dijo...

A mí me parece que el ejemplo de tu profesor también puede servir para personas que no saben de recursividad. Creo que la capacidad de construir conocimiento del ser humano puede tomar el ejemplo e inferir de él, intuitivamente qué es la recursividad. Pero sino, ahora tenemos tus instrucciones.

Anónimo dijo...

me marea el cuento este propuesto por J

en psicologia lo llamamos desarrollo representacional y es lo que pemite que el ser humano puessss , sea recursivo

Unknown dijo...

Hay un problema con tu ejemplo macaco, toda recursion debe tener una condicion de parada.

Mejor dicho:

Para entender que es la recursividad, primero hay que entender la recursividad hasta que entiendas que es la recursividad.

Macaco dijo...

Ñoño, no voy a entrar en otra discusión profunda hoy.

Lo único que digo es que dejé claro que no lo dije yo, y lo uso porque me parece completo y correcto.

Er dijo...

O sea que cuando le dicen a alguien "Tan recursivo...", es por que le da muchas vueltas a algo?