From 8657ea3d400e9536da92317a96f6d836aa7b679d Mon Sep 17 00:00:00 2001
From: DishaSethi
Date: Fri, 26 Jun 2026 17:03:46 +0530
Subject: [PATCH 1/2] docs: cross-reference nth-fibonacci implementations via
javadocs
---
.../dynamicprogramming/Fibonacci.java | 16 +++++++++++++++-
.../maths/FibonacciJavaStreams.java | 18 ++++++++++++++++--
.../com/thealgorithms/maths/FibonacciLoop.java | 13 +++++++++++++
.../maths/FibonacciNumberCheck.java | 12 ++++++++++++
.../maths/FibonacciNumberGoldenRation.java | 12 ++++++++++++
.../recursion/FibonacciSeries.java | 12 +++++++++++-
6 files changed, 79 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java b/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java
index 0d6aff2bbef3..5fbd819d6e66 100644
--- a/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java
+++ b/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java
@@ -4,7 +4,21 @@
import java.util.Map;
/**
- * @author Varun Upadhyay (https://github.com/varunu28)
+ * Collection of Dynamic Programming techniques to solve for the n-th Fibonacci number.
+ *
+ * This file showcases Top-Down Memoization ({@code fibMemo}), Bottom-Up Tabulation ({@code fibBotUp}),
+ * and Space-Optimized Iteration ({@code fibOptimized}).
+ *
+ * For alternative structural paradigms, mathematical formulas, or verification steps, see:
+ *
+ * - {@link com.thealgorithms.maths.FibonacciLoop} - Standard Iterative (Loop) approach
+ * - {@link com.thealgorithms.recursion.FibonacciSeries} - Naive Recursive approach
+ * - {@link com.thealgorithms.maths.FibonacciJavaStreams} - Functional approach using Java Streams
+ * - {@link com.thealgorithms.maths.FibonacciNumberGoldenRation} - Closed-form expression using Binet's formula
+ * - {@link com.thealgorithms.maths.FibonacciNumberCheck} - Utility to check if a given number is a Fibonacci number
+ * - {@link com.thealgorithms.matrix.matrixexponentiation.Fibonacci} - O(log n) Matrix Exponentiation approach
+ *
+ * * @author Varun Upadhyay (https://github.com/varunu28)
*/
public final class Fibonacci {
private Fibonacci() {
diff --git a/src/main/java/com/thealgorithms/maths/FibonacciJavaStreams.java b/src/main/java/com/thealgorithms/maths/FibonacciJavaStreams.java
index 84390860ccc4..8a93580a4b72 100644
--- a/src/main/java/com/thealgorithms/maths/FibonacciJavaStreams.java
+++ b/src/main/java/com/thealgorithms/maths/FibonacciJavaStreams.java
@@ -6,9 +6,23 @@
import java.util.stream.Stream;
/**
- * @author: caos321
- * @date: 14 October 2021 (Thursday)
+ * Calculates Fibonacci numbers using a functional programming paradigm with Java Streams.
+ *
+ * This specific implementation uses {@link java.util.stream.Stream#iterate} and reductions to generate terms.
+ *
+ * For alternative approaches to compute or verify Fibonacci numbers, see:
+ *
+ * - {@link com.thealgorithms.maths.FibonacciLoop} - Standard Iterative (Loop) approach
+ * - {@link com.thealgorithms.recursion.FibonacciSeries} - Naive Recursive approach
+ * - {@link com.thealgorithms.dynamicprogramming.Fibonacci} - Dynamic Programming approaches (Memoization, Bottom-Up, Optimized)
+ * - {@link com.thealgorithms.maths.FibonacciNumberGoldenRation} - Closed-form expression using Binet's formula
+ * - {@link com.thealgorithms.maths.FibonacciNumberCheck} - Utility to check if a given number is a Fibonacci number
+ * - {@link com.thealgorithms.matrix.matrixexponentiation.Fibonacci} - O(log n) Matrix Exponentiation approach
+ *
+ * * @author caos321
+ * @date 14 October 2021 (Thursday)
*/
+
public final class FibonacciJavaStreams {
private FibonacciJavaStreams() {
}
diff --git a/src/main/java/com/thealgorithms/maths/FibonacciLoop.java b/src/main/java/com/thealgorithms/maths/FibonacciLoop.java
index de23a4305c3f..2fb73d4ac9b7 100644
--- a/src/main/java/com/thealgorithms/maths/FibonacciLoop.java
+++ b/src/main/java/com/thealgorithms/maths/FibonacciLoop.java
@@ -4,6 +4,19 @@
/**
* This class provides methods for calculating Fibonacci numbers using BigInteger for large values of 'n'.
+ *
+ * This specific implementation uses an Iterative approach (Loop) with {@code O(n)} time complexity
+ * and {@code O(1)} space complexity.
+ *
+ * For alternative approaches to compute or verify Fibonacci numbers, see:
+ *
+ * - {@link com.thealgorithms.recursion.FibonacciSeries} - Naive Recursive approach
+ * - {@link com.thealgorithms.dynamicprogramming.Fibonacci} - Dynamic Programming approaches (Memoization, Bottom-Up, Optimized)
+ * - {@link com.thealgorithms.maths.FibonacciJavaStreams} - Functional approach using Java Streams
+ * - {@link com.thealgorithms.maths.FibonacciNumberGoldenRation} - Closed-form expression using Binet's formula
+ * - {@link com.thealgorithms.maths.FibonacciNumberCheck} - Utility to check if a given number is a Fibonacci number
+ * - {@link com.thealgorithms.matrix.matrixexponentiation.Fibonacci} - O(log n) Matrix Exponentiation approach
+ *
*/
public final class FibonacciLoop {
diff --git a/src/main/java/com/thealgorithms/maths/FibonacciNumberCheck.java b/src/main/java/com/thealgorithms/maths/FibonacciNumberCheck.java
index 781275d3130d..6bdc2d6ed9fb 100644
--- a/src/main/java/com/thealgorithms/maths/FibonacciNumberCheck.java
+++ b/src/main/java/com/thealgorithms/maths/FibonacciNumberCheck.java
@@ -4,6 +4,18 @@
* Fibonacci: 0 1 1 2 3 5 8 13 21 ...
* This code checks Fibonacci Numbers up to 45th number.
* Other checks fail because of 'long'-type overflow.
+ *
+ * This class serves as a verification utility rather than a generation algorithm.
+ *
+ * For approaches that actively compute the n-th Fibonacci number, see:
+ *
+ * - {@link com.thealgorithms.maths.FibonacciLoop} - Standard Iterative (Loop) approach
+ * - {@link com.thealgorithms.recursion.FibonacciSeries} - Naive Recursive approach
+ * - {@link com.thealgorithms.dynamicprogramming.Fibonacci} - Dynamic Programming approaches (Memoization, Bottom-Up, Optimized)
+ * - {@link com.thealgorithms.maths.FibonacciJavaStreams} - Functional approach using Java Streams
+ * - {@link com.thealgorithms.maths.FibonacciNumberGoldenRation} - Closed-form expression using Binet's formula
+ * - {@link com.thealgorithms.matrix.matrixexponentiation.Fibonacci} - O(log n) Matrix Exponentiation approach
+ *
*/
public final class FibonacciNumberCheck {
private FibonacciNumberCheck() {
diff --git a/src/main/java/com/thealgorithms/maths/FibonacciNumberGoldenRation.java b/src/main/java/com/thealgorithms/maths/FibonacciNumberGoldenRation.java
index 4df37a40f541..eca6379b93bc 100644
--- a/src/main/java/com/thealgorithms/maths/FibonacciNumberGoldenRation.java
+++ b/src/main/java/com/thealgorithms/maths/FibonacciNumberGoldenRation.java
@@ -3,6 +3,18 @@
/**
* This class provides methods for calculating Fibonacci numbers using Binet's formula.
* Binet's formula is based on the golden ratio and allows computing Fibonacci numbers efficiently.
+ *
+ * This specific implementation provides a closed-form solution with an expected {@code O(1)} time complexity.
+ *
+ * For alternative approaches to compute or verify Fibonacci numbers, see:
+ *
+ * - {@link com.thealgorithms.maths.FibonacciLoop} - Standard Iterative (Loop) approach
+ * - {@link com.thealgorithms.recursion.FibonacciSeries} - Naive Recursive approach
+ * - {@link com.thealgorithms.dynamicprogramming.Fibonacci} - Dynamic Programming approaches (Memoization, Bottom-Up, Optimized)
+ * - {@link com.thealgorithms.maths.FibonacciJavaStreams} - Functional approach using Java Streams
+ * - {@link com.thealgorithms.maths.FibonacciNumberCheck} - Utility to check if a given number is a Fibonacci number
+ * - {@link com.thealgorithms.matrix.matrixexponentiation.Fibonacci} - O(log n) Matrix Exponentiation approach
+ *
*
* @see Binet's formula on Wikipedia
*/
diff --git a/src/main/java/com/thealgorithms/recursion/FibonacciSeries.java b/src/main/java/com/thealgorithms/recursion/FibonacciSeries.java
index 9c809858099e..404adfdf0cf1 100644
--- a/src/main/java/com/thealgorithms/recursion/FibonacciSeries.java
+++ b/src/main/java/com/thealgorithms/recursion/FibonacciSeries.java
@@ -7,8 +7,18 @@
* Example:
* 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55 ...
*
+ *
+ * This specific implementation demonstrates a Naive Recursive approach with {@code O(2^n)} time complexity.
+ * For more performant variations or different programming paradigms, see:
+ *
+ * - {@link com.thealgorithms.maths.FibonacciLoop} - Standard Iterative (Loop) approach
+ * - {@link com.thealgorithms.dynamicprogramming.Fibonacci} - Dynamic Programming variants (Memoization / Bottom-Up)
+ * - {@link com.thealgorithms.maths.FibonacciJavaStreams} - Functional approach using Java Streams
+ * - {@link com.thealgorithms.maths.FibonacciNumberGoldenRation} - Closed-form expression using Binet's formula
+ * - {@link com.thealgorithms.maths.FibonacciNumberCheck} - Utility to check if a given number is a Fibonacci number
+ * - {@link com.thealgorithms.matrix.matrixexponentiation.Fibonacci} - O(log n) Matrix Exponentiation approach
+ *
*/
-
public final class FibonacciSeries {
private FibonacciSeries() {
throw new UnsupportedOperationException("Utility class");
From af1488cb5bd98f27556c8b3ab0dfa2a374e9b66c Mon Sep 17 00:00:00 2001
From: DishaSethi
Date: Fri, 26 Jun 2026 17:40:21 +0530
Subject: [PATCH 2/2] style: remove trailing whitespaces in Javadocs
---
.../java/com/thealgorithms/dynamicprogramming/Fibonacci.java | 4 +---
src/main/java/com/thealgorithms/maths/FibonacciLoop.java | 4 +---
2 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java b/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java
index 5fbd819d6e66..df158112d233 100644
--- a/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java
+++ b/src/main/java/com/thealgorithms/dynamicprogramming/Fibonacci.java
@@ -1,12 +1,10 @@
package com.thealgorithms.dynamicprogramming;
-
import java.util.HashMap;
import java.util.Map;
-
/**
* Collection of Dynamic Programming techniques to solve for the n-th Fibonacci number.
*
- * This file showcases Top-Down Memoization ({@code fibMemo}), Bottom-Up Tabulation ({@code fibBotUp}),
+ * This file showcases Top-Down Memoization ({@code fibMemo}), Bottom-Up Tabulation ({@code fibBotUp}),
* and Space-Optimized Iteration ({@code fibOptimized}).
*
* For alternative structural paradigms, mathematical formulas, or verification steps, see:
diff --git a/src/main/java/com/thealgorithms/maths/FibonacciLoop.java b/src/main/java/com/thealgorithms/maths/FibonacciLoop.java
index 2fb73d4ac9b7..f19e3a6969c5 100644
--- a/src/main/java/com/thealgorithms/maths/FibonacciLoop.java
+++ b/src/main/java/com/thealgorithms/maths/FibonacciLoop.java
@@ -1,11 +1,9 @@
package com.thealgorithms.maths;
-
import java.math.BigInteger;
-
/**
* This class provides methods for calculating Fibonacci numbers using BigInteger for large values of 'n'.
*
- * This specific implementation uses an Iterative approach (Loop) with {@code O(n)} time complexity
+ * This specific implementation uses an Iterative approach (Loop) with {@code O(n)} time complexity
* and {@code O(1)} space complexity.
*
* For alternative approaches to compute or verify Fibonacci numbers, see: