Java'da Fibonacci Serisi: Java'da Fibonnaci Nasıl Yazılır ve Görüntülenir

Yayınlanan: 2020-07-29

Fibonacci dizisi, adını İtalyan matematikçi Leonardo Fibonacci'den alır. 1202'de Liber Abaci adlı kitabıyla bu diziyi Batı Avrupa'ya tanıttı. Pingala'nın çalışmalarının kanıtladığı gibi, Hint matematik sahnesi MÖ 200'de Fibonacci büyüsünü görmüştü. Sayıların bu temsili, kodlama ve hesaplama alanlarında da özel bir yere sahiptir. Bu açıklamanın sonunda, Java'da bir Fibonacci dizisi yazmayı öğrenmiş olacaksınız.

Tamsayı dizisi 0 ve 1 ile başlar ve bundan sonraki her sayı kendisinden önce gelen iki sayının toplamıdır, örneğin 0, 1, 1, 2, 3, 5 vb. JavaScript'te oluşturmanın iki ana yolu vardır, yani (i) yineleme kullanarak, yani özyineleme kullanmadan ve (ii) özyineleme kullanarak. Yinelemeli yaklaşım, görevi tamamlamak için doğrusal zaman alırken, özyinelemeli teknikle çözümü katlanarak alırsınız. Şimdi bu yöntemlerin detaylarını tek tek inceleyelim.

Okuyun: Python vs. Javascript Throwdown: Hangisini Tercih Etmelisiniz?

İçindekiler

Java'da Fibonacci Dizisi Yazmak

Yöntem 1: Özyineleme olmadan

  • Döngü için

Bu durumda, Java programının bir Fibonacci dizisinin ilk n sayısını oluşturmasını istiyorsunuz. İşte 'for' döngüsü yinelemesinin nasıl çalıştığına ayrıntılı bir bakış.

İlk önce, serinin ilk iki numarasını başlatırsınız. Ardından, For Loop, iki önceki önceliği toplayacak ve değeri yazdıracaktır. Bu işlem ilk n sayı görüntülenene kadar devam edecektir. Program yinelemeye başlamadan önce 0 ve 1'i zaten yayınladığı için, For Loop koşulu n-2 ile verilir.

  • Döngü sırasında

For Loop yöntemine benzer bir mantık izler ancak programcıların uygulamada daha dikkatli olmasını gerektirir. 'while' döngüsünün kontrol akışı ifadesi, bir Boole koşulunda kodu tekrar tekrar yürütür. Yalnızca koşul karşılanırsa veya doğruysa, döngünün gövdesi yürütülür. Ayrıca, güncelleme ifadesi döngü değişkenini artırır. Tersine, koşul yanlış olarak değerlendirilirse while döngüsünden çıkarız.

Okuyun: Java Mimarisi ve Bileşenleri Açıklandı

While Loop'u daha iyi anlamak için aşağıda verilen Java kodunu inceleyelim:

Yöntem 2: Özyinelemeli

Java'da özyineleme kullanarak Fibonacci serisini yazarken, işlev doğrudan veya dolaylı olarak kendisini çağırır. Temel bir JavaScript programlama tekniğidir ve işlev, özyinelemeli işlev olarak bilinir.

Özyinelemeli algoritmalar, karmaşık sorunları kolaylıkla çözmenize yardımcı olabilir. Fibonacci dizisinin ilk 'n' sayılarını özyineleme kullanarak yazdırmak istediğinizi varsayalım. Gerekli seriyi oluşturmak için özyinelemeli bir Java programına ihtiyacınız olacaktır. İşte böyle bir uygulamanın adım adım açıklaması:

  • Kullanıcı girişi verirdi
  • For Loop, her yineleme n konumunda Fibonacci sayısını döndüren işlevi çağırana kadar döngüye uygulanacaktır. fibonaccinumber (int n) olsun
  • Ardından fonksiyon tekrar tekrar kendisini çağırır ve önceki iki Fibonacci sayısını ekler.

Fibonacci serisi örnekleri

Fibonacci dizisinin bazı gerçek hayattaki örnekleri, doğadaki diğer birçok temsilin yanı sıra bir çiçeğin taç yapraklarını, çam kozalağını, ağaç dallarını, kabuk sarmallarını içerir. Bu matematiksel dizinin bu Altın Oran kuralı, DNA moleküllerimiz ve galaksilerin sarmalları gibi evrenin en temel özelliklerinin doğasında vardır.

Yukarıda açıklanan yinelemeli ve özyinelemeli yöntemler, Fibonacci serisinin yineleme ilişkisinin uygulamalarıdır. F(n) = F(n-1) + F(n-2) ile verilir. Bu bağıntıdaki çekirdek değerleri koyduğumuzda, şunu elde ederiz: F(0) = 0 ve F(1) = 1. Verilen bir sayı, n için, bir Fibonacci dizisinde n'inci sayıyı nasıl bulacaksınız? Bu senaryoyu farklı girdilerle ele alalım.

  • n=2 girdisi için çıktı 1 olur
  • n=9 girdisi için sonuç 34 olur

F(n) döndüren bir fonksiyon yazmak için bu temeller üzerine inşa edebilirsiniz. Fonksiyon şu şekilde verilebilir: int fib (int n). n = 0 olduğunda fib() işlevi 0 döndürür. Benzer şekilde, n = 1 ise fib() 1 döndürür. Ve n > 1 için çıktı F(n-1) + F (n-2) olmalıdır.

fib() işlevi için test durumu

Kısa bir dizi için, ör. [0, 1, 1, 2, 3, 5, 8,…,55] ve fib(5), sonuç 5 olur. Yani, Fibonacci dizi dizisinden indeksi 5 olan bir eleman döndürmeyi amaçlıyoruz. . Şimdi bunun yinelemeli yöntemi kullanarak nasıl ortaya çıkacağını görelim.

  • fonksiyon fib(n){

dizi = [0,1] olsun;

for (j = 2; j < n + 1; j ++) {

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

}

dönüş dizisi[n]

}

Yukarıdaki kod parçacığında, boş bir dizi oluşturmak yerine dizi değişkenini [0,1] olarak atadığımızı fark edebilirsiniz. Döngü j = 2'den yinelemeye başlar ve dizinin uzunluğu n + 1 olana kadar sayıları toplamaya devam eder. Ve bu şekilde, sayıyı n dizininde döndürürüz. Bu nedenle çıktı fib (4) için 3, fib (5) için 5 vb. olacaktır.

Aynı sorunu bir röportajda özyineleme kullanarak çözmeniz istenirse, aşağıdaki temel durumu kullanabilirsiniz.

  • fonksiyon fib(n){

eğer (n > 2){

dönüş n

}

dönüş fib(n-1) + fib (n-2)

}

5 argümanıyla fib()'i çağırdığınızı varsayalım. Burada fib işlevi, temel duruma ulaşana kadar ağacın daha fazla dalı oluşturmaya devam edecek (n değeri 2'den küçüktür), ardından dönüşü toplamaya başlayacaktır. her dalın değerleri. Özyinelemeli aramalar yalnızca 5'e eşit bir tam sayı yazdırıldığında duracaktır.

Java'da Fibonacci serisinin avantajları

  • Basit bir Javascript programıyla, belirli bir sayı veya terime kadar bir diziyi zahmetsizce görüntülemek için bir Fibonacci dizisini çalıştırabilirsiniz.
  • Özyineleme, Java'da özlü ve anlamlı bir kod sunar
  • Yinelemeli algoritmalar, sınırlı oldukları için üretimde mükemmel bir çözüm sunar ve kodu sağlam tutar. Buna karşılık, özyinelemeli algoritmalar bazen yığın taşma hatasına yol açar.
  • Fibonacci araması, sıralanmış dizilerde çalışır ve özellikle erişim hızı önceden erişilen konuma bağlı olduğunda ikili aramadan daha iyi performans gösterir.
  • Fibonacci serisine aşina olmak, öğrencilerin çeşitli ön uç ve arka uç işlevleri gerektiren modern uygulamalar üzerinde çalışırken mantık geliştirmelerine olanak tanır.

Kontrol edin: Java Proje Fikirleri

Özetliyor

Bu yazıda, Java'da bir Fibonacci serisini uygulamanıza ve farklı yöntemlerin arkasındaki mantığı anlamanıza yardımcı olmaya çalıştık. Fibonacci sayılarını özyineleme kullanarak veya özyineleme olmadan (döngü ve while döngüsü) temsil edebilirsiniz. Bundan sonra, iki yöntemin arkasındaki temel kavramları yeniledik ve avantajlarını tartıştık.

Tüm bu bilgilerle algoritma bilginizi tazeleyebilir ve daha iyi kod yazabilirsiniz. Diziler, ikili ağaçlar, bağlantılı listeler vb. gibi veri yapılarını da iyi bir şekilde anlamanız en iyisi olacaktır. Yukarıdaki makaleyi revizyonunuzun başlangıç ​​noktası olarak kullanın ve programlama becerilerinizi geliştirin!

Java, full-stack yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje sunan Full-stack Yazılım Geliştirme PG Diplomasına göz atın , ve ödevler, IIIT-B Mezunları statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Hayalinizdeki İşe Yer Açın

FULL STACK GELİŞTİRMEDE YÜKSELTME VE IIIT-BANGALORE'NİN PG DİPLOMASI
Şimdi Uygula