Recursividad en Julia

Julia es un lenguaje de programación dinámico de alto nivel con alto rendimiento y velocidad que se utiliza para realizar operaciones en computación científica. Es ideal para problemas computacionales complejos. Es un lenguaje de código abierto, por lo que todo el código fuente está disponible fácilmente en línea.

Es tan fácil de usar como Python pero tiene una ejecución mucho más rápida en comparación con R y Python. Julia es un lenguaje de propósito general y se puede utilizar para diversas tareas, como cálculos estadísticos, análisis de datos, desarrollo web, desarrollo de juegos y más.

Maneras de ejecutar a Julia: 

  • A través de un archivo .jl en un IDE
  • Comando por comando en Julia REPL ( Read Evaluate Print Loop )

Como Julia es muy similar sintácticamente a otros lenguajes más utilizados, es más fácil codificar y aprender Julia. Los programas de Julia deben guardarse en un archivo con extensión . extensión jl .

Programa Julia Simple:

Programa simple para imprimir Hola Geeks, solo escriba el siguiente código después del inicio del intérprete.

Julia

# Julia code to print Hello Geeks
  
# print function
print("Hello Geeks!")

Antes de ver Recursión en Julia, necesitamos saber qué es realmente la recursión.

¿Qué es la recursividad?

Es un proceso en el que una función se llama a sí misma directa o indirectamente. Es una técnica que nos ayuda a resolver problemas complejos fácilmente con código elegante. Los problemas clásicos de recursividad incluyen las Torres de Hanoi.

La idea de la recursividad es representar un problema en términos de problemas más pequeños y agregar algunas condiciones para detenerlo en algunos niveles básicos.

Interpretación Matemática 

Un objeto posee un comportamiento recursivo si se puede definir mediante las siguientes propiedades:

  • Caso base: es un escenario final que no usa más la recursividad para formar una respuesta
  • Paso recursivo: pasos que reducen los casos siguientes hacia el caso base

Julia – Recursión 

Veamos cómo funciona la recursividad en el lenguaje de Julia con la ayuda de ejemplos.

Ejemplo 1: 

En este ejemplo, estamos encontrando la multiplicación de dos números. Di num1*num2. Es lo mismo que sumar num1 a sí mismo repetido num2 veces. Por ejemplo, 5*4 es lo mismo que 5+5+5+5. Codificaremos este problema en ambos sentidos, iterativo y recursivo.

Código iterativo:

Julia

function mult_fn(num1, num2)  
    res = 0
  # iterative approach
  for i in 1:num2
    res += num1
  end
  return res
end
    
# Function call
ans = mult_fn(10, 11)
println(ans)

Producción:

Código recursivo:

Julia

function mult_fn(num1, num2)
    # Base Case
    if num2 == 1
       return num1
    
    else
       # recursive call
       return num1 + mult_fn(num1, num2 - 1)
  end
end
    
# Function call
ans = mult_fn(10, 11)
println(ans)

Producción: 

Ejemplo 2:

En este ejemplo, estamos encontrando el factorial de un número. n!=n*(n-1)*(n-2) . . . . *1. Digamos que el número es 5. 5!= 5*4*3*2*1=120. En Julia, el factorial se puede encontrar de tres maneras: usando la función factorial incorporada, otra forma es la forma iterativa y la tercera es la forma recursiva.

Usando la función incorporada-  

Julia

# using built-in function
ans = factorial(5)
println(ans)

Producción:

Código iterativo-

Julia

function fact_fn(num)  
    res = 1
  # iterative approach
  for i in 1:num
    res *= i
  end
  return res
end
    
# Function call
ans = fact_fn(10)
println(ans)

Producción – 

Código recursivo-

Julia

function fact_fn(num)
    # Base Case
    if num == 1
       return 1
    
    else
       # recursive call
       return num*fact_fn(num - 1)
  end
end
    
# Function call
ans = fact_fn(5)
println(ans)

Producción- 

Publicación traducida automáticamente

Artículo escrito por siddharthredhu01 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *