Deret Fibonacci di Java: Cara Menulis & Menampilkan Fibonnaci di Java
Diterbitkan: 2020-07-29Deret Fibonacci mendapatkan namanya dari matematikawan Italia, Leonardo Fibonacci. Dia memperkenalkan seri ini di Eropa Barat dengan bukunya Liber Abaci pada tahun 1202. Adegan matematika India telah melihat cara ajaib Fibonacci pada tahun 200 SM, sebagaimana dibuktikan oleh karya Pingala. Representasi angka ini juga menempati tempat khusus di bidang pengkodean dan komputasi. Pada akhir penjelasan ini, Anda akan belajar tentang menulis deret Fibonacci di Jawa.
Urutan bilangan bulat dimulai dengan 0 dan 1, dan setiap angka setelah itu adalah jumlah dari dua angka yang mendahuluinya, misalnya, 0, 1, 1, 2, 3, 5, dan seterusnya. Ada dua cara utama untuk menghasilkannya dalam JavaScript, yaitu (i) menggunakan iterasi, yaitu tanpa menggunakan rekursi, dan (ii) menggunakan rekursi. Sementara pendekatan iteratif membutuhkan waktu linier untuk menyelesaikan tugas, Anda secara eksponensial mendapatkan solusi dengan teknik rekursif. Sekarang, mari kita selidiki detail metode ini satu per satu.
Baca: Python vs. Javascript Throwdown: Mana yang Sebaiknya Anda Pilih?
Daftar isi
Menulis Deret Fibonacci di Java
Metode 1: Tanpa rekursi
- Untuk Lingkaran
Dalam hal ini, Anda ingin program Java menghasilkan n angka pertama dari deret Fibonacci. Berikut adalah tampilan mendetail tentang cara kerja iterasi loop 'untuk'.
Pertama, Anda menginisialisasi dua angka pertama dari seri. Kemudian, For Loop akan menjumlahkan dua pendahulu langsung dan mencetak nilainya. Proses ini akan berlanjut hingga n angka pertama ditampilkan. Karena program telah menerbitkan 0 dan 1 sebelum memulai iterasi, kondisi For Loop diberikan oleh n-2.
- Sementara Loop
Ini mengikuti logika yang mirip dengan metode For Loop tetapi mengharuskan programmer untuk lebih berhati-hati dalam penerapannya. Pernyataan aliran kontrol dari loop 'sementara' mengeksekusi kode berulang kali pada kondisi Boolean. Hanya jika kondisinya memenuhi, atau benar, badan perulangan akan dieksekusi. Selanjutnya, ekspresi pembaruan menambah variabel loop. Sebaliknya, kita akan keluar dari perulangan while jika kondisi bernilai salah.

Baca: Penjelasan Arsitektur & Komponen Java
Mari kita amati kode Java yang diberikan di bawah ini untuk mendapatkan pemahaman yang lebih baik tentang While Loop:
Metode 2: Dengan rekursi
Saat Anda menulis deret Fibonacci di Java menggunakan rekursi, fungsi tersebut memanggil dirinya sendiri secara langsung atau tidak langsung. Ini adalah teknik pemrograman JavaScript dasar, dan fungsinya dikenal sebagai fungsi rekursif.
Algoritma rekursif dapat membantu Anda memecahkan masalah kompleks dengan mudah. Misalkan Anda ingin mencetak angka 'n' pertama dari deret Fibonacci menggunakan rekursi. Anda akan memerlukan program Java rekursif untuk menghasilkan seri yang diperlukan. Berikut adalah penjelasan langkah demi langkah dari implementasi semacam itu:
- Pengguna akan memberikan masukan
- For Loop akan diterapkan ke loop sampai setiap iterasi memanggil fungsi yang mengembalikan angka Fibonacci pada posisi n. Biarkan menjadi fibonaccinumber (int n)
- Kemudian fungsi tersebut akan memanggil dirinya sendiri secara rekursif dan menambahkan dua angka Fibonacci sebelumnya
Contoh deret Fibonacci
Beberapa contoh kehidupan nyata dari deret Fibonacci termasuk kelopak bunga, biji pinus, cabang pohon, spiral kerang, di antara banyak representasi lain di alam. Aturan Rasio Emas dari urutan matematika ini melekat pada karakteristik paling mendasar dari alam semesta, seperti molekul DNA kita dan spiral galaksi.
Metode iteratif dan rekursif yang dijelaskan di atas adalah implementasi dari relasi perulangan deret Fibonacci. Diberikan oleh: F(n) = F(n-1) + F(n-2). Ketika kita memasukkan nilai benih dalam hubungan ini, kita mendapatkan: F(0) = 0 dan F(1) = 1. Untuk suatu bilangan, n, bagaimana cara mencari bilangan ke-n dalam deret Fibonacci? Mari kita pertimbangkan skenario ini dengan masukan yang berbeda.

- Untuk input n=2, outputnya adalah 1
- Untuk input n=9, hasilnya adalah 34
Anda dapat membangun dasar-dasar ini untuk menulis fungsi yang mengembalikan F(n). Fungsi tersebut dapat diberikan oleh: int fib (int n). Fungsi fib() akan mengembalikan 0 ketika n = 0. Demikian pula, jika n = 1, fib() harus mengembalikan 1. Dan outputnya harus F(n-1) + F (n-2) untuk n > 1.
Kasus uji untuk fungsi fib()
Untuk urutan pendek, mis. [0, 1, 1, 2, 3, 5, 8,…,55] dan fib(5), hasilnya akan menjadi 5. Jadi, kami bertujuan untuk mengembalikan elemen dengan indeks 5 dari array deret Fibonacci . Mari kita lihat bagaimana ini akan terungkap menggunakan metode iteratif.
- fungsi fib(n){
misalkan array = [0,1];
untuk (misalkan j = 2; j < n + 1; j ++) {
array.push(array[j-2] + array[j-1])
}
kembalikan array[n]
}
Anda dapat melihat bahwa dalam cuplikan kode di atas, kami menetapkan variabel larik ke [0,1] alih-alih membuat larik kosong. Loop mulai iterasi dari j = 2 dan terus menambahkan angka sampai panjang array adalah n + 1. Dan dengan cara ini, kita mengembalikan angka pada indeks n. Oleh karena itu, outputnya adalah 3 untuk fib (4), 5 untuk fib (5), dan seterusnya.
Jika Anda diminta untuk memecahkan masalah yang sama menggunakan rekursi dalam sebuah wawancara, Anda dapat menggunakan kasus dasar berikut.
- fungsi fib(n){
jika (n > 2){
kembali n
}
kembalikan fib(n-1) + fib (n-2)
}

Misalkan Anda memanggil fib() dengan argumen 5. Di sini, fungsi fib akan terus membuat lebih banyak cabang pohon hingga mencapai kasus dasar (nilai n kurang dari 2), setelah itu akan mulai menjumlahkan pengembalian nilai masing-masing cabang. Panggilan rekursif akan berhenti hanya ketika bilangan bulat sama dengan 5 dicetak.
Keuntungan dari seri Fibonacci di Jawa
- Dengan program Javascript sederhana, Anda dapat menjalankan deret Fibonacci untuk menampilkan deret dengan mudah hingga angka atau istilah tertentu
- Rekursi memberikan kode yang ringkas dan ekspresif di Java
- Algoritme iteratif memberikan solusi yang sangat baik dalam produksi karena dibatasi, menjaga kode tetap kuat. Sebaliknya, algoritma rekursif terkadang menyebabkan kesalahan stack overflow
- Pencarian Fibonacci bekerja dalam array yang diurutkan dan berkinerja lebih baik daripada pencarian biner, terutama ketika kecepatan akses bergantung pada lokasi yang diakses sebelumnya
- Menjadi fasih dengan seri Fibonacci memungkinkan siswa untuk mengembangkan logika saat bekerja pada aplikasi modern yang menuntut berbagai fungsi front-end dan back-end
Lihat: Ide Proyek Java
Menyimpulkan
Dalam artikel ini, kami mencoba membantu Anda menerapkan deret Fibonacci di Java dan memahami logika di balik berbagai metode. Anda dapat merepresentasikan bilangan Fibonacci menggunakan rekursi atau tanpa rekursi (untuk loop dan while loop). Setelah itu, kami menyegarkan kembali konsep inti di balik kedua metode tersebut dan juga membahas kelebihannya.
Dengan semua informasi ini, Anda dapat menyegarkan kembali pengetahuan Anda tentang algoritme dan menulis kode yang lebih baik. Akan lebih baik jika Anda juga memiliki pemahaman yang baik tentang struktur data seperti array, pohon biner, daftar tertaut, dll. Gunakan artikel di atas sebagai titik awal revisi Anda dan bangun keterampilan pemrograman Anda!
Jika Anda tertarik untuk mempelajari lebih lanjut tentang Java, pengembangan perangkat lunak full-stack, lihat Diploma PG Tingkat & IIIT-B dalam Pengembangan Perangkat Lunak Full-stack yang dirancang untuk profesional yang bekerja dan menawarkan 500+ jam pelatihan ketat, 9+ proyek , dan penugasan, status Alumni IIIT-B, proyek batu penjuru praktis & bantuan pekerjaan dengan perusahaan-perusahaan top.