Serie Fibonacci in Java: come scrivere e visualizzare Fibonnaci in Java
Pubblicato: 2020-07-29La sequenza di Fibonacci prende il nome dal matematico italiano Leonardo Fibonacci. Ha introdotto questa serie nell'Europa occidentale con il suo libro Liber Abaci nel 1202. La scena matematica indiana aveva visto la magia di Fibonacci nel lontano 200 a.C., come dimostrano le opere di Pingala. Questa rappresentazione dei numeri occupa anche un posto speciale nelle sfere della codifica e dell'informatica. Alla fine di questa spiegazione, avrai imparato a scrivere una serie di Fibonacci in Java.
La sequenza intera inizia con 0 e 1 e ogni numero successivo è la somma dei due numeri che lo precedono, ad esempio 0, 1, 1, 2, 3, 5 e così via. Ci sono due modi principali per generarlo in JavaScript, vale a dire (i) usando l'iterazione, cioè senza usare la ricorsione, e (ii) usando la ricorsione. Mentre l'approccio iterativo richiede tempo lineare per completare l'attività, ottieni esponenzialmente la soluzione con la tecnica ricorsiva. Ora, analizziamo i dettagli di questi metodi uno per uno.
Leggi: Python contro Javascript Throwdown: quale dovresti preferire?
Sommario
Scrivere la serie di Fibonacci in Java
Metodo 1: senza ricorsione
- Per Loop
In questo caso, vuoi che il programma Java generi i primi n numeri di una sequenza di Fibonacci. Ecco uno sguardo dettagliato su come funziona l'iterazione del ciclo 'for'.
Innanzitutto, inizializzi i primi due numeri della serie. Quindi, For Loop sommerà i due predecessori immediati e stamperà il valore. Questo processo continuerà fino a quando non saranno stati visualizzati i primi n numeri. Poiché il programma ha già pubblicato 0 e 1 prima di iniziare l'iterazione, la condizione For Loop è data da n-2.
- Mentre Loop
Segue una logica simile al metodo For Loop ma richiede ai programmatori una maggiore attenzione nella sua applicazione. L'istruzione di flusso di controllo del ciclo 'while' esegue il codice ripetutamente su una condizione booleana. Solo se la condizione soddisfa, o è vera, il corpo del ciclo viene eseguito. Inoltre, l'espressione di aggiornamento incrementa la variabile di ciclo. Al contrario, usciremo dal ciclo while se la condizione risulta falsa.

Leggi: Spiegazione dell'architettura e dei componenti Java
Osserviamo il codice Java riportato di seguito per comprendere meglio While Loop:
Metodo 2: con ricorsione
Quando scrivi la serie di Fibonacci in Java usando la ricorsione, la funzione chiama se stessa direttamente o indirettamente. È una tecnica di programmazione JavaScript di base e la funzione è nota come funzione ricorsiva.
Gli algoritmi ricorsivi possono aiutarti a risolvere facilmente problemi complessi. Supponiamo di voler stampare i primi 'n' numeri della sequenza di Fibonacci usando la ricorsione. Avresti bisogno di un programma Java ricorsivo per generare la serie richiesta. Ecco la spiegazione dettagliata di tale implementazione:
- L'utente darebbe l'input
- For Loop verrebbe applicato al ciclo finché ogni iterazione non chiama la funzione che restituisce il numero di Fibonacci nella posizione n. Sia fibonaccinumber (int n)
- Quindi la funzione si chiamerebbe ricorsivamente e aggiungerebbe i due numeri di Fibonacci precedenti
Esempi di serie di Fibonacci
Alcuni esempi di vita reale della sequenza di Fibonacci includono i petali di un fiore, pigne, rami di alberi, spirali di conchiglie, tra molte altre rappresentazioni della natura. Questa regola del rapporto aureo di questa sequenza matematica è inerente alle caratteristiche più fondamentali dell'universo, come le nostre molecole di DNA e le spirali delle galassie.
I metodi iterativi e ricorsivi sopra descritti sono implementazioni della relazione di ricorrenza della serie di Fibonacci. È data da: F(n) = F(n-1) + F(n-2). Quando inseriamo i valori seed in questa relazione, otteniamo: F(0) = 0 e F(1) = 1. Per un dato numero, n, come troverai l'n-esimo numero in una serie di Fibonacci? Consideriamo questo scenario con input diversi.

- Per un input n=2, l'output sarebbe 1
- Per un input n=9, il risultato sarebbe 34
Puoi basarti su questi fondamenti per scrivere una funzione che restituisce F(n). La funzione può essere data da: int fib (int n). La funzione fib() restituirà 0 quando n = 0. Allo stesso modo, se n = 1, fib() dovrebbe restituire 1. E l'output dovrebbe essere F(n-1) + F (n-2) per n > 1.
Caso di prova per la funzione fib()
Per una breve sequenza, vale a dire. [0, 1, 1, 2, 3, 5, 8,…,55] e fib(5), il risultato risulterebbe essere 5. Quindi, miriamo a restituire un elemento con indice 5 dall'array di sequenza di Fibonacci . Vediamo come questo si svilupperà usando il metodo iterativo.
- funzione fib(n){
lascia matrice = [0,1];
for (lascia j = 2; j < n + 1; j ++) {
array.push(array[j-2] + array[j-1])
}
matrice di ritorno[n]
}
Puoi notare che nel frammento di codice sopra, abbiamo assegnato la variabile array a [0,1] invece di creare un array vuoto. Il ciclo inizia a scorrere da j = 2 e continua ad aggiungere numeri fino a quando la lunghezza dell'array è n + 1. E in questo modo, restituiamo il numero all'indice n. Quindi, l'output sarebbe 3 per fib (4), 5 per fib (5) e così via.
Se ti viene chiesto di risolvere lo stesso problema utilizzando la ricorsione in un'intervista, puoi utilizzare il seguente caso base.
- funzione fib(n){
se (n > 2){
ritorno n
}
ritorno fib(n-1) + fib (n-2)
}

Supponiamo di chiamare fib() con l'argomento 5. Qui, la funzione fib continuerà a creare più rami dell'albero fino a raggiungere il caso base (il valore di n è minore di 2), dopodiché inizierà a sommare il ritorno valori di ogni ramo. Le chiamate ricorsive si interromperanno solo quando viene stampato un numero intero uguale a 5.
Vantaggi della serie di Fibonacci in Java
- Con un semplice programma Javascript, puoi eseguire una serie di Fibonacci per visualizzare facilmente una serie fino a un numero o termine specifico
- La ricorsione fornisce un codice conciso ed espressivo in Java
- Gli algoritmi iterativi forniscono un'eccellente soluzione in produzione poiché sono limitati, mantenendo il codice robusto. Al contrario, gli algoritmi ricorsivi a volte portano a errori di overflow dello stack
- La ricerca di Fibonacci funziona in array ordinati e ha prestazioni migliori rispetto alla ricerca binaria, principalmente quando la velocità di accesso dipende dalla posizione a cui si accede in precedenza
- Avere dimestichezza con la serie di Fibonacci consente agli studenti di sviluppare la logica mentre lavorano su applicazioni moderne che richiedono varie funzionalità front-end e back-end
Dai un'occhiata a: Idee per progetti Java
Riassumendo
In questo articolo, abbiamo cercato di aiutarti a implementare una serie di Fibonacci in Java e a comprendere la logica dietro i diversi metodi. Puoi rappresentare i numeri di Fibonacci usando la ricorsione o senza ricorsione (for loop e while loop). Successivamente, abbiamo aggiornato i concetti fondamentali alla base dei due metodi e ne abbiamo anche discusso i vantaggi.
Con tutte queste informazioni, puoi aggiornare la tua conoscenza degli algoritmi e scrivere codice migliore. Sarebbe meglio se tu avessi anche una buona conoscenza delle strutture dati come array, alberi binari, elenchi collegati, ecc. Usa l'articolo sopra come punto di partenza per la tua revisione e costruisci le tue abilità di programmazione!
Se sei interessato a saperne di più su Java, lo sviluppo di software full-stack, dai un'occhiata al Diploma PG di upGrad e IIIT-B in Sviluppo software full-stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi, status di Alumni IIIT-B, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.