Friday, December 20, 2024

Fibonacci Sequence in Java, Using Loops, Recursion, Dynamic Programming

 

The Fibonacci sequence is a series of numbers where each number is the sum of the two preceding ones. It typically starts with 0 and 1, resulting in the sequence: 0, 1, 1, 2, 3, 5, 8, 13, 21, and so on.

This sequence has numerous applications in mathematics, computer science, and even nature. In this blog, we'll explore how to generate the Fibonacci sequence in Java using different approaches.

Iterative Approach

This is the most common and efficient method to generate the Fibonacci sequence. It involves using a loop to calculate each number in the sequence iteratively.

public class FibonacciIterative {

    public static void main(String[] args) {

        int n = 10; // Number of terms to generate

        int firstTerm = 0, secondTerm = 1;

        System.out.println("Fibonacci Series till " + n + " terms:");


        for (int i = 1; i <= n; ++i) {

            System.out.print(firstTerm + ", ");


            // compute the next term

            int nextTerm = firstTerm + secondTerm;

            firstTerm = secondTerm;

            secondTerm = nextTerm;

        }

    }

}


Recursive Approach

This approach uses recursion to calculate each Fibonacci number. While elegant, it can be less efficient for larger values of n due to repeated calculations.

public class FibonacciRecursive {

    public static int fibonacci(int n) {

        if (n <= 1)

            return n;

        return fibonacci(n - 1) + fibonacci(n - 2);

    }


    public static void main(String[] args) {

        int n = 10; // Number of terms to generate

        System.out.println("Fibonacci Series till " + n + " terms:");

        for (int i = 0; i < n; i++) {

            System.out.print(fibonacci(i) + " ");

        }

    }

}


Dynamic Programming Approach (Memoization)

This approach improves the efficiency of the recursive solution by storing previously calculated Fibonacci numbers in an array. This avoids redundant calculations and significantly reduces the time complexity.

public class FibonacciMemoization {

    static int[] memo = new int[100]; // Array to store calculated values


    public static int fibonacci(int n) {

        if (n <= 1) {

            memo[n] = n;

            return n;

        } else if (memo[n] != 0) {

            return memo[n];

        } else {

            memo[n] = fibonacci(n - 1) + fibonacci(n - 2);

            return memo[n];

        }

    }


    public static void main(String[] args) {

        int n = 10; // Number of terms to generate

        System.out.println("Fibonacci Series till " + n + " terms:");

        for (int i = 0; i < n; i++) {

            System.out.print(fibonacci(i) + " ");

        }

    }

}


By understanding these different approaches, you can choose the most suitable method for your specific needs and optimize your Fibonacci sequence generation in Java.

I hope this blog provides a clear and comprehensive understanding of the Fibonacci sequence and its implementation in Java.



This Content Sponsored by Buymote Shopping app

BuyMote E-Shopping Application is One of the Online Shopping App

Now Available on Play Store & App Store (Buymote E-Shopping)

Click Below Link and Install Application: https://buymote.shop/links/0f5993744a9213079a6b53e8

Sponsor Content: #buymote #buymoteeshopping #buymoteonline #buymoteshopping #buymoteapplication



No comments:

Post a Comment