Seria Fibonacciego w Javie: Jak pisać i wyświetlać Fibonnaciego w Javie
Opublikowany: 2020-07-29Sekwencja Fibonacciego wzięła swoją nazwę od włoskiego matematyka Leonarda Fibonacciego. Wprowadził tę serię w Europie Zachodniej swoją książką Liber Abaci w 1202. Indyjska scena matematyczna widziała magię Fibonacciego już w 200 r. p.n.e., o czym świadczą prace Pingali. Ta reprezentacja liczb zajmuje również szczególne miejsce w sferach kodowania i informatyki. Pod koniec tego objaśnienia dowiesz się o pisaniu serii Fibonacciego w Javie.
Sekwencja liczb całkowitych zaczyna się od 0 i 1, a każda następna liczba jest sumą dwóch poprzedzających ją liczb, na przykład 0, 1, 1, 2, 3, 5 i tak dalej. Istnieją dwa główne sposoby generowania go w JavaScript, a mianowicie (i) za pomocą iteracji, tj. bez użycia rekurencji, oraz (ii) za pomocą rekurencji. Podczas gdy podejście iteracyjne zajmuje liniowy czas na zakończenie zadania, rozwiązanie uzyskuje się wykładniczo za pomocą techniki rekurencyjnej. Teraz zagłębimy się w szczegóły tych metod jeden po drugim.
Przeczytaj: Python vs. Javascript Throwdown: który z nich wolisz?
Spis treści
Pisanie serii Fibonacciego w Javie
Metoda 1: Bez rekurencji
- Dla pętli
W tym przypadku chcesz, aby program Java generował pierwsze n liczb ciągu Fibonacciego. Oto szczegółowy opis działania iteracji pętli „for”.
Najpierw inicjujesz pierwsze dwie liczby serii. Następnie For Loop zsumuje dwóch bezpośrednich poprzedników i wyświetli wartość. Ten proces będzie trwał do momentu wyświetlenia pierwszych n cyfr. Ponieważ program opublikował już 0 i 1 przed rozpoczęciem iteracji, warunek pętli For jest podawany przez n-2.
- Podczas pętli
Działa zgodnie z logiką podobną do metody For Loop, ale wymaga od programistów większej ostrożności w jej stosowaniu. Instrukcja przepływu sterowania w pętli „while” wielokrotnie wykonuje kod w przypadku warunku logicznego. Tylko jeśli warunek jest spełniony lub jest prawdziwy, wykonywana jest treść pętli. Ponadto wyrażenie update zwiększa zmienną pętli. I odwrotnie, wyjdziemy z pętli while, jeśli warunek zostanie uznany za fałszywy.

Przeczytaj: Wyjaśnienie architektury i komponentów Java
Przyjrzyjmy się poniższemu kodowi Java, aby lepiej zrozumieć pętlę While:
Metoda 2: Z rekurencją
Kiedy piszesz serię Fibonacciego w Javie przy użyciu rekurencji, funkcja wywołuje się bezpośrednio lub pośrednio. Jest to podstawowa technika programowania JavaScript, a funkcja jest znana jako funkcja rekurencyjna.
Algorytmy rekurencyjne mogą z łatwością pomóc w rozwiązywaniu złożonych problemów. Załóżmy, że chcesz wydrukować pierwsze liczby 'n' ciągu Fibonacciego za pomocą rekurencji. Do wygenerowania wymaganej serii potrzebny byłby rekurencyjny program w języku Java. Oto krokowe wyjaśnienie takiej implementacji:
- Użytkownik podałby dane wejściowe
- For Loop zostanie zastosowane do pętli, dopóki każda iteracja nie wywoła funkcji, która zwraca liczbę Fibonacciego na pozycji n. Niech to będzie fibonaccinumber (int n)
- Wtedy funkcja rekursywnie wywołałaby siebie i dodała poprzednie dwie liczby Fibonacciego
Przykłady serii Fibonacciego
Niektóre rzeczywiste przykłady sekwencji Fibonacciego obejmują płatki kwiatów, szyszki, gałęzie drzew, spirale muszli i wiele innych przedstawień występujących w przyrodzie. Ta zasada złotego podziału tej matematycznej sekwencji jest nieodłączna w najbardziej fundamentalnych cechach wszechświata, takich jak cząsteczki naszego DNA i spirale galaktyk.
Opisane powyżej metody iteracyjne i rekurencyjne są implementacjami relacji rekurencyjnej szeregu Fibonacciego. Wyraża się on wzorem: F(n) = F(n-1) + F(n-2). Kiedy wstawimy wartości ziarna w tej relacji, otrzymamy: F(0) = 0 i F(1) = 1. Jak dla danej liczby n znajdziesz n-tą liczbę w szeregu Fibonacciego? Rozważmy ten scenariusz z różnymi danymi wejściowymi.

- Dla wejścia n=2, wyjście będzie 1
- Dla wejścia n=9 wynik byłby 34
Możesz opierać się na tych podstawach, aby napisać funkcję zwracającą F(n). Funkcja może być podana przez: int fib (int n). Funkcja fib() zwróci 0, gdy n = 0. Podobnie, jeśli n = 1, fib() powinno zwrócić 1. Wyjście powinno być F(n-1) + F(n-2) dla n > 1.
Przypadek testowy funkcji fib()
Dla krótkiej sekwencji, mianowicie. [0, 1, 1, 2, 3, 5, 8,…,55] i fib(5), wynik wyszedłby na 5. Więc naszym celem jest zwrócenie elementu o indeksie 5 z tablicy sekwencji Fibonacciego . Zobaczmy, jak to się rozwinie za pomocą metody iteracyjnej.
- funkcja fib(n){
niech tablica = [0,1];
dla (niech j = 2; j < n + 1; j ++) {
array.push(tablica[j-2] + tablica[j-1])
}
zwróć tablicę[n]
}
Możesz zauważyć, że w powyższym fragmencie kodu przypisaliśmy zmienną tablicową do [0,1] zamiast tworzyć pustą tablicę. Pętla zaczyna iterować od j = 2 i kontynuuje dodawanie liczb, aż długość tablicy wyniesie n + 1. W ten sposób zwracamy liczbę o indeksie n. Stąd wynik będzie wynosił 3 dla fib (4), 5 dla fib (5) i tak dalej.
Jeśli zostaniesz poproszony o rozwiązanie tego samego problemu za pomocą rekurencji w rozmowie kwalifikacyjnej, możesz użyć następującego przypadku podstawowego.
- funkcja fib(n){
jeśli (n > 2){
powrót n
}
powrót fib(n-1) + fib (n-2)
}

Załóżmy, że wywołujesz fib() z argumentem 5. Tutaj funkcja fib będzie tworzyła kolejne gałęzie drzewa, aż dotrze do przypadku bazowego (wartość n jest mniejsza niż 2), po czym zacznie podsumowywać wynik wartości każdej gałęzi. Wywołania rekurencyjne zostaną zatrzymane tylko wtedy, gdy zostanie wydrukowana liczba całkowita równa 5.
Zalety serii Fibonacciego w Javie
- Za pomocą prostego programu JavaScript możesz wykonać serię Fibonacciego, aby bez wysiłku wyświetlić serię do określonej liczby lub terminu
- Recursion dostarcza zwięzły i wyrazisty kod w Javie
- Algorytmy iteracyjne stanowią doskonałe rozwiązanie w środowisku produkcyjnym, ponieważ są ograniczone, dzięki czemu kod jest niezawodny. W przeciwieństwie do tego, algorytmy rekurencyjne czasami prowadzą do błędu przepełnienia stosu
- Wyszukiwanie Fibonacciego działa w posortowanych tablicach i działa lepiej niż wyszukiwanie binarne, głównie wtedy, gdy prędkość dostępu zależy od poprzednio dostępnej lokalizacji
- Znajomość serii Fibonacciego pozwala studentom rozwijać logikę podczas pracy nad nowoczesnymi aplikacjami, które wymagają różnych funkcjonalności front-end i back-end
Sprawdź: Pomysły na projekty Java
Podsumowując
W tym artykule staraliśmy się pomóc Ci zaimplementować serię Fibonacciego w Javie i zrozumieć logikę różnych metod. Liczby Fibonacciego można reprezentować za pomocą rekurencji lub bez rekurencji (pętla for i pętla while). Następnie odświeżyliśmy podstawowe koncepcje obu metod i omówiliśmy ich zalety.
Dzięki tym wszystkim informacjom możesz odświeżyć swoją wiedzę na temat algorytmów i napisać lepszy kod. Byłoby najlepiej, gdybyś dobrze rozumiał struktury danych, takie jak tablice, drzewa binarne, listy połączone, itp. Użyj powyższego artykułu jako punktu wyjścia do swojej powtórki i zbuduj swoje umiejętności programistyczne!
Jeśli chcesz dowiedzieć się więcej na temat Java, pełnego stosu oprogramowania, sprawdź upGrad i IIIT-B's PG Diploma in Full-stack Software Development, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 500 godzin rygorystycznych szkoleń, ponad 9 projektów i zadania, status absolwentów IIIT-B, praktyczne praktyczne projekty zwieńczenia i pomoc w pracy z najlepszymi firmami.