Pascal/Turbo Pascal - una ayuda

 
Vista:

una ayuda

Publicado por fano (1 intervención) el 15/06/2004 22:32:10
hola, necesito informacion sobre las diferencias entre recursividad e iteraccion, es decir las ventajas, desventajas y aplicaciones en el campo de la informatica de cada uno de ellos, y tambien sobre estructuras dinamicas (listas enlazadas) y estructuras estaticas (arreglos unidimensional y bidimensional), lo mismo, ventajas, desventajas y aplicaciones, ayudenme, q es de importancia
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:una ayuda

Publicado por M@rceloL (152 intervenciones) el 16/06/2004 06:05:05
Veamos. La recursión es muy útil sobre todos para problemas que tienen un planteamiento recursivo, esto es, que la definicón del problema es netamente recursiva. Por ejemplo, el factorial. Hay problemas que no (al menos eso dicen) pueden planterase de manera iterativa, por eso es importante la recursividad. De nombrar una desventaja de la recursividad, debería decir que a) a veces suele ser medio confusa, b) consume más memoria y tiempo de ejecución, porque pensemos que cada vez que se llama a la función se apila en la Stack, y que las variables locales a la función son vueltas a "declarar"... aunque realmente no es demasiado significativo, pero bueno, lo es.

Con respecto a la iteración, tiene la ventaja de ser más facil de entender. Si tengo que recorrer un arreglo, hago un cilclo de, supongamos, 1 hasta 100. ¿Para qué hacer una función recursiva? Es mucho más simple de ver iterativamente con un simple For.

Para los arreglos y las listas. La ventaja fundamental de la lista con respecto al arreglo es que una lista va a reservar memoria solamente para lo que necesite, y que uno puede agrandarla cuanto quiera, sin definir un tamaño en tiempo de diseño y que después nos puede quedar chico.
Otra ventaja es que uno puede insertar un elemento en cualquier parte sin tener que hacer corrimientos (como pasa con los arreglos) es más efectivo en este aspecto.

La desventaja es que usa más memoria por elemento que en un arreglo, porque usa espacio para el elemento y los punteros. Y por supuesto que es mucho más difícil de indexar (acceder a una determinada posicón) que los arreglos.

Pues... no sé qué más decirte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar