Seria Fibonacci în Java: Cum să scrieți și să afișați Fibonaci în Java

Publicat: 2020-07-29

Secvența Fibonacci își trage numele de la matematicianul italian Leonardo Fibonacci. El a introdus această serie în Europa de Vest cu cartea sa Liber Abaci încă din 1202. Scena matematică indiană a văzut magia Fibonacci încă din 200 î.e.n., așa cum demonstrează lucrările lui Pingala. Această reprezentare a numerelor ocupă, de asemenea, un loc aparte în sferele codificării și calculului. Până la sfârșitul acestui explicator, veți fi învățat despre scrierea unei serii Fibonacci în Java.

Secvența de numere întregi începe cu 0 și 1, iar fiecare număr după acesta este suma celor două numere care îl preced, de exemplu, 0, 1, 1, 2, 3, 5 și așa mai departe. Există două moduri principale de a-l genera în JavaScript, și anume (i) folosind iterația, adică fără a utiliza recursiunea și (ii) folosind recursiunea. În timp ce abordarea iterativă necesită timp liniar pentru a finaliza sarcina, obții exponențial soluția cu tehnica recursivă. Acum, haideți să pătrundem în detaliile acestor metode una câte una.

Citiți: Python vs. Javascript Throwdown: pe care ar trebui să-l preferați?

Cuprins

Scrierea seriei Fibonacci în Java

Metoda 1: Fără recursivitate

  • Pentru Loop

În acest caz, doriți ca programul Java să genereze primele n numere ale unei secvențe Fibonacci. Iată o privire detaliată asupra modului în care funcționează iterația buclei „for”.

Mai întâi, inițializați primele două numere ale seriei. Apoi, For Loop va aduna cei doi predecesori imediati și va imprima valoarea. Acest proces va continua până când primele n numere vor fi afișate. Deoarece programul a publicat deja 0 și 1 înainte de a începe iterația, condiția For Loop este dată de n-2.

  • While Loop

Urmează o logică similară cu metoda For Loop, dar necesită programatorilor să fie mai atenți în aplicarea acesteia. Declarația fluxului de control a buclei „while” execută cod în mod repetat într-o condiție booleană. Numai dacă condiția satisface sau este adevărată, corpul buclei este executat. În plus, expresia de actualizare incrementează variabila buclă. În schimb, vom ieși din bucla while dacă condiția este evaluată ca fiind falsă.

Citiți: Arhitectura Java și componentele explicate

Să observăm codul Java de mai jos pentru a înțelege mai bine bucla While:

Metoda 2: Cu recursivitate

Când scrieți seria Fibonacci în Java folosind recursiunea, funcția se autoinvocă direct sau indirect. Este o tehnică de programare JavaScript de bază, iar funcția este cunoscută ca o funcție recursivă.

Algoritmii recursivi vă pot ajuta să rezolvați cu ușurință probleme complexe. Să presupunem că doriți să imprimați primele „n” numere ale secvenței Fibonacci folosind recursiunea. Veți avea nevoie de un program Java recursiv pentru a genera seria necesară. Iată explicația în pas a unei astfel de implementări:

  • Utilizatorul ar da intrarea
  • For Loop ar fi aplicat buclei până când fiecare iterație apelează funcția care returnează numărul Fibonacci la poziția n. Fie numărul de Fibonacci (int n)
  • Apoi funcția s-ar apela recursiv și s-ar adăuga cele două numere Fibonacci anterioare

Exemple de seria Fibonacci

Unele exemple din viața reală ale secvenței Fibonacci includ petalele dintr-o floare, conuri de pin, ramuri de copaci, spirale de scoici, printre multe alte reprezentări din natură. Această regulă a raportului de aur a acestei secvențe matematice este inerentă celor mai fundamentale caracteristici ale universului, cum ar fi moleculele noastre de ADN și spiralele galaxiilor.

Metodele iterative și recursive descrise mai sus sunt implementări ale relației de recurență a seriei Fibonacci. Este dat de: F(n) = F(n-1) + F(n-2). Când introducem valorile de bază în această relație, obținem: F(0) = 0 și F(1) = 1. Pentru un număr dat, n, cum veți găsi al n-lea număr dintr-o serie Fibonacci? Să luăm în considerare acest scenariu cu diferite intrări.

  • Pentru o intrare n=2, ieșirea ar fi 1
  • Pentru o intrare n=9, rezultatul ar fi 34

Puteți construi pe aceste elemente fundamentale pentru a scrie o funcție care returnează F(n). Funcția poate fi dată de: int fib (int n). Funcția fib() va returna 0 când n = 0. În mod similar, dacă n = 1, fib() ar trebui să returneze 1. Și rezultatul ar trebui să fie F(n-1) + F (n-2) pentru n > 1.

Caz de testare pentru funcția fib().

Pentru o secvență scurtă, adică. [0, 1, 1, 2, 3, 5, 8,…,55] și fib(5), rezultatul ar ieși a fi 5. Deci, ne propunem să returnăm un element cu indicele 5 din matricea succesiunii Fibonacci . Să vedem cum se va desfășura acest lucru folosind metoda iterativă.

  • funcția fib(n){

fie matrice = [0,1];

pentru (fie j = 2; j < n + 1; j ++) {

array.push(matrice[j-2] + matrice[j-1])

}

matrice de returnare[n]

}

Puteți observa că în fragmentul de cod de mai sus, am atribuit variabila matrice la [0,1] în loc să creăm o matrice goală. Bucla începe să itereze de la j = 2 și continuă să adauge numere până când lungimea matricei este n + 1. Și în acest fel, returnăm numărul la indicele n. Prin urmare, ieșirea ar fi 3 pentru fib (4), 5 pentru fib (5) și așa mai departe.

Dacă vi se cere să rezolvați aceeași problemă folosind recursiunea într-un interviu, puteți utiliza următorul caz de bază.

  • funcția fib(n){

dacă (n > 2){

întoarcere n

}

returnează fib(n-1) + fib (n-2)

}

Să presupunem că apelați fib() cu argumentul 5. Aici, funcția fib va ​​continua să creeze mai multe ramuri ale arborelui până când ajunge la cazul de bază (valoarea lui n este mai mică de 2), după care va începe să însumeze randamentul valorile fiecărei ramuri. Apelurile recursive se vor opri numai atunci când este tipărit un număr întreg egal cu 5.

Avantajele seriei Fibonacci în Java

  • Cu un program Javascript simplu, puteți executa o serie Fibonacci pentru a afișa fără efort o serie până la un anumit număr sau termen
  • Recursiunea oferă un cod concis și expresiv în Java
  • Algoritmii iterativi oferă o soluție excelentă în producție, deoarece sunt mărginiți, păstrând codul robust. În schimb, algoritmii recursivi duc uneori la o eroare de depășire a stivei
  • Căutarea Fibonacci funcționează în matrice sortate și funcționează mai bine decât căutarea binară, în principal atunci când viteza de acces depinde de locația accesată anterior
  • Familiarizarea cu seria Fibonacci permite studenților să dezvolte logica în timp ce lucrează la aplicații moderne care necesită diverse funcționalități front-end și back-end

Consultați: Idei de proiecte Java

Rezumând

În acest articol, am încercat să vă ajutăm să implementați o serie Fibonacci în Java și să înțelegeți logica din spatele diferitelor metode. Puteți reprezenta numerele Fibonacci folosind recursivitate sau fără recursivitate (bucla pentru și bucla while). După aceea, am reîmprospătat conceptele de bază din spatele celor două metode și am discutat, de asemenea, despre avantajele acestora.

Cu toate aceste informații, vă puteți reîmprospăta cunoștințele despre algoritmi și puteți scrie cod mai bun. Cel mai bine ar fi dacă ați avea și o bună înțelegere a structurilor de date, cum ar fi matrice, arbori binari, liste conectate etc. Folosiți articolul de mai sus ca punct de plecare al revizuirii și dezvoltați-vă abilitățile de programare!

Dacă sunteți interesat să aflați mai multe despre Java, dezvoltarea de software full-stack, consultați UpGrad & IIIT-B's PG Diploma in Full-stack Software Development, care este concepută pentru profesioniști care lucrează și oferă peste 500 de ore de formare riguroasă, peste 9 proiecte , și misiuni, statutul de absolvenți IIIT-B, proiecte practice practice și asistență pentru locuri de muncă cu firme de top.

Aterizează la locul de muncă visat

UPGRAD ȘI DIPLOMA PG LUI IIIT-BANGALORE ÎN DEZVOLTARE COMPLETĂ
Aplica acum