Los algoritmos recursivos no son un recurso tan utilizado por los programadores, inclusive, también se plantean discusiones acerca de algoritmos iterativos vs. recursivos.
Independientemente de la preferencia de cada uno de los programadores, la idea de esta publicación es mostrar con un ejemplo sencillo una misma función "potencia" escrita de ambas formas.
Una función potencia, de forma iterativa se puede escribir de la siguiente manera:
for ( i=1 ; i<=exponente ; i++) {
p*=base;
}
return(p);
}
Ahora, por definición, una función es recursiva cuando en su cuerpo hay un llamado a si misma.
Esta definición es perfectamente aplicable a la potenciación, pues: xy = x * (xy-1), por ejemplo:
24 = 2 * (23)
donde, 23 = 2 * (22)
donde, 22 = 2 * (21)
donde, 21 = 2 * (20)
Por lo tanto, esto se podría escribir de la siguiente manera:
Tal vez este no sea el caso más representativo, pero una de las principales ventajas por las que se utilizan algoritmos recursivos es la por la disminución de la cantidad de líneas de código necesarias.
Vía: Nuevos Programadores
7 Respuestas para "Ejemplo de función potencia iterativa y recursiva"
No habría estado de más un análisis de complejidad… xD
baaa no sirve para nada okey pongan algo que sirva no esa estupides
bueno yo opino que tiene que poner algo que deverdad sirva pero eso eso no me dice nada asi que para la proccima analicen que eso lo nececito el viernes y no encuentro ejemplo de potencia ummmmmmmmm
La utilidad o no de las funciones presentadas es relativa. Yo las veo como un excelente ejemplo básico de algoritmos.
Pero como dije, solo un “ejemplo básico”.
A mi si me ha servido para comprender un poco mas la recursividad.
¡¡¡Muchas gracias!!!
hola mi nombre es fabian quisiera saber como hacer la potencia no recursiva al igual que la serie de fibonacci si pueden que se recursiva y no recursiva. muchas gracias
atte:fabian eduardo
Cito tus palabras:
Tal vez este no sea el caso más representativo, pero una de las principales ventajas por las que se utilizan algoritmos recursivos es la por la disminución de la cantidad de líneas de código necesarias.
no quiero discutir sobre el tema, pero si darte mi punto de vista, dado a que la recursividad no se utiliza para ahorrar lineas de codigo.
La recursividad es un tema dificil de plantear, puedes demorar mas tiempo pensando un algoritmo recursivo, que escribiendo un algoritmo a base de While y for.
el uso de la recursividad pasa a entregar solucion a algoritmos de naturaleza recursivos, donde se obtendra un beneficio en Coste y Orden, de la solucion del algoritmo.
Ahora… si tienes 2 soluciones, al mismo problema, uno recursivo y otro no recursivo y ambas son del mismo Orden, seria prudente de parte del programador, implementar la solucion No recursiva. ya que el Uso de la recursividad, utiliza un espacio en memoria Adicional a la que usa un algoritmo No recursivo.
PD: para el amigo que pregunta sobre la serie fibonachi, le recomiendo hacerla NO recursiva. es extremada costosa en terminos de CPU utilizar un algoritmo recursivo para esa solucion.
Saludos cordiales y Felicitaciones por el Blog.
tienen muy buena informacion.
Exito!
Comentarios: