Serie Fibonacci en Java: cómo escribir y mostrar Fibonaci en Java

Publicado: 2020-07-29

La sucesión de Fibonacci recibe su nombre del matemático italiano Leonardo Fibonacci. Introdujo esta serie en Europa occidental con su libro Liber Abaci en 1202. La escena matemática india había visto la magia de Fibonacci allá por el 200 a. C., como lo demuestran las obras de Pingala. Esta representación de los números también ocupa un lugar especial en los ámbitos de la codificación y la informática. Al final de esta explicación, habrá aprendido a escribir una serie de Fibonacci en Java.

La secuencia de enteros comienza con 0 y 1, y cada número posterior es la suma de los dos números que lo preceden, por ejemplo, 0, 1, 1, 2, 3, 5, etc. Hay dos formas principales de generarlo en JavaScript, a saber (i) usando iteración, es decir, sin usar recursión, y (ii) usando recursión. Mientras que el enfoque iterativo toma un tiempo lineal para terminar la tarea, obtienes la solución exponencialmente con la técnica recursiva. Ahora, profundicemos en los detalles de estos métodos uno por uno.

Leer: Python vs. Javascript Throwdown: ¿Cuál debería preferir?

Tabla de contenido

Escribir series de Fibonacci en Java

Método 1: sin recursividad

  • En bucle

En este caso, desea que el programa Java genere los primeros n números de una secuencia de Fibonacci. Aquí hay una vista detallada de cómo funciona la iteración del bucle 'for'.

Primero, inicializa los dos primeros números de la serie. Luego, For Loop sumará los dos predecesores inmediatos e imprimirá el valor. Este proceso continuará hasta que se hayan mostrado los primeros n números. Dado que el programa ya ha publicado 0 y 1 antes de comenzar la iteración, la condición de For Loop viene dada por n-2.

  • Mientras bucle

Sigue una lógica similar al método For Loop pero requiere que los programadores sean más cuidadosos en su aplicación. La declaración de flujo de control del bucle 'while' ejecuta el código repetidamente en una condición booleana. Solo si la condición satisface, o es verdadera, se ejecuta el cuerpo del bucle. Además, la expresión de actualización incrementa la variable de bucle. Por el contrario, saldremos del ciclo while si la condición se evalúa como falsa.

Leer: Explicación de la arquitectura y los componentes de Java

Observemos el código Java que se muestra a continuación para obtener una mejor comprensión de While Loop:

Método 2: Con recursividad

Cuando está escribiendo la serie de Fibonacci en Java usando recursividad, la función se llama a sí misma directa o indirectamente. Es una técnica básica de programación de JavaScript, y la función se conoce como función recursiva.

Los algoritmos recursivos pueden ayudarlo a resolver problemas complejos con facilidad. Suponga que desea imprimir los primeros números 'n' de la secuencia de Fibonacci usando la recursividad. Necesitaría un programa Java recursivo para generar la serie requerida. Aquí está la explicación paso a paso de tal implementación:

  • El usuario daría la entrada
  • For Loop se aplicaría al bucle hasta que cada iteración llame a la función que devuelve el número de Fibonacci en la posición n. Sea número de fibonacci (int n)
  • Luego, la función se llamaría recursivamente a sí misma y sumaría los dos números de Fibonacci anteriores

Ejemplos de series de Fibonacci

Algunas instancias de la vida real de la secuencia de Fibonacci incluyen los pétalos de una flor, piñas, ramas de árboles, espirales de conchas, entre muchas otras representaciones en la naturaleza. Esta regla de la proporción áurea de esta secuencia matemática es inherente a las características más fundamentales del universo, como nuestras moléculas de ADN y las espirales de las galaxias.

Los métodos iterativos y recursivos descritos anteriormente son implementaciones de la relación de recurrencia de la serie de Fibonacci. Viene dado por: F(n) = F(n-1) + F(n-2). Cuando ponemos los valores semilla en esta relación, obtenemos: F(0) = 0 y F(1) = 1. Para un número dado, n, ¿cómo encontrará el número n-ésimo en una serie de Fibonacci? Consideremos este escenario con diferentes entradas.

  • Para una entrada n=2, la salida sería 1
  • Para una entrada n=9, el resultado sería 34

Puede aprovechar estos fundamentos para escribir una función que devuelva F(n). La función puede estar dada por: int fib (int n). La función fib() devolverá 0 cuando n = 0. De manera similar, si n = 1, fib() debería devolver 1. Y la salida debería ser F(n-1) + F (n-2) para n > 1.

Caso de prueba para la función fib()

Para una secuencia corta, a saber. [0, 1, 1, 2, 3, 5, 8,…,55] y fib(5), el resultado sería 5. Entonces, nuestro objetivo es devolver un elemento con índice 5 de la matriz de secuencias de Fibonacci . Veamos cómo se desarrollará esto usando el método iterativo.

  • función fib(n){

dejar matriz = [0,1];

para (sea j = 2; j < n + 1; j ++) {

matriz.push(matriz[j-2] + matriz[j-1])

}

matriz de retorno [n]

}

Puede notar que en el fragmento de código anterior, asignamos la variable de matriz a [0,1] en lugar de crear una matriz vacía. El ciclo comienza a iterar desde j = 2 y continúa agregando números hasta que la longitud de la matriz es n + 1. Y de esta manera, devolvemos el número en el índice n. Por lo tanto, la salida sería 3 para fib (4), 5 para fib (5), y así sucesivamente.

Si se le pide que resuelva el mismo problema usando la recursividad en una entrevista, puede usar el siguiente caso base.

  • función fib(n){

si (n > 2){

regreso m

}

devolver fib(n-1) + fib (n-2)

}

Suponga que llama a fib() con el argumento 5. Aquí, la función fib seguirá creando más ramas del árbol hasta que llegue al caso base (el valor de n es menor que 2), después de lo cual comenzará a resumir el retorno valores de cada rama. Las llamadas recursivas se detendrán solo cuando se imprima un número entero igual a 5.

Ventajas de la serie de Fibonacci en Java

  • Con un programa Javascript simple, puede ejecutar una serie de Fibonacci para mostrar sin esfuerzo una serie hasta un número o término específico
  • Recursion ofrece un código conciso y expresivo en Java
  • Los algoritmos iterativos brindan una excelente solución en producción, ya que están acotados y mantienen el código robusto. Por el contrario, los algoritmos recursivos a veces conducen a un error de desbordamiento de pila.
  • La búsqueda de Fibonacci funciona en matrices ordenadas y funciona mejor que la búsqueda binaria, principalmente cuando la velocidad de acceso depende de la ubicación a la que se accedió anteriormente.
  • Estar familiarizado con la serie de Fibonacci permite a los estudiantes desarrollar la lógica mientras trabajan en aplicaciones modernas que exigen varias funcionalidades de front-end y back-end.

Echa un vistazo a: Ideas de proyectos Java

Resumiendo

En este artículo, intentamos ayudarlo a implementar una serie de Fibonacci en Java y comprender la lógica detrás de los diferentes métodos. Puede representar los números de Fibonacci usando recursión o sin recursión (bucle for y bucle while). Después de eso, refrescamos los conceptos básicos detrás de los dos métodos y también discutimos sus ventajas.

Con toda esta información, puede refrescar sus conocimientos sobre algoritmos y escribir mejor código. Sería mejor si también tuviera una buena comprensión de las estructuras de datos como matrices, árboles binarios, listas enlazadas, etc. ¡Use el artículo anterior como punto de partida de su revisión y desarrolle sus habilidades de programación!

Si está interesado en obtener más información sobre Java, desarrollo de software de pila completa, consulte el Diploma PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de capacitación rigurosa, más de 9 proyectos. , y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.

Aterrice en el trabajo de sus sueños

UPGRAD Y DIPLOMA PG DE IIIT-BANGALORE EN DESARROLLO FULL STACK
Aplica ya