📜  斐波那契 6 - Java (1)

📅  最后修改于: 2023-12-03 14:55:03.357000             🧑  作者: Mango

斐波那契 6 - Java

简介

斐波那契数列是指从 0 和 1 开始,后面的每一项都是前面两项的和。这个数列的前几项是:0、1、1、2、3、5、8、13、21、34、55、89、144……等等。在这个数列中,后一项除以前一项的比值越来越接近0.618。0.618又被称为黄金分割比。

斐波那契数列在计算机科学中有广泛的应用,比如搜索算法、数据压缩、密码学、图形优化等等。

这篇文章主要介绍如何用 Java 实现斐波那契数列。

代码实现

我们可以使用递归或循环来实现斐波那契数列。

递归实现
public static int fibonacci(int n) {
    if (n <= 0) {
        return 0;
    } else if (n == 1) {
        return 1;
    } else {
        return fibonacci(n - 1) + fibonacci(n - 2);
    }
}

这里使用了递归来实现斐波那契数列。时间复杂度是 O(2^n),因为递归过程中会重复计算相同的值。

循环实现
public static int fibonacci(int n) {
    if (n <= 0) {
        return 0;
    }
    int previous = 0;
    int current = 1;
    for (int i = 1; i < n; i++) {
        int next = previous + current;
        previous = current;
        current = next;
    }
    return current;
}

这里使用了循环来实现斐波那契数列。时间复杂度是 O(n),因为只需要计算一次每个数的值。

总结

Java 可以用递归或循环来实现斐波那契数列。但是递归实现在计算量大的情况下会存在性能问题,建议使用循环实现。