Class VectorSum

java.lang.Object
topics.divideconquer.vectorsum.VectorSum

public class VectorSum extends Object

Vector Summation (Algorithmic Structural Variations)

Computes the total sum of elements within an integer array. This class acts as a pristine educational baseline to compare Iteration, Divide invalid input: '&' Conquer by Subtraction, and Divide invalid input: '&' Conquer by Division models.

Author:
vicegd
  • Constructor Details

    • VectorSum

      public VectorSum()
  • Method Details

    • sumIterative

      public int sumIterative(int[] v)

      1. Iterative Approach

      Linear sequential scan over the collection utilizing a single register loop.

      • Time Complexity: O(N)
      • Space Complexity: O(1) - Constant runtime memory footprint.
      Parameters:
      v - Array containing integers to accumulate.
      Returns:
      Absolute summation of all components.
    • sumRecursiveSubtraction

      public int sumRecursiveSubtraction(int[] v)

      2. Divide invalid input: '&' Conquer by Subtraction

      Evaluates the array by peeling away a single leading item per step. Recurrence equation handles a = 1, b = 1, k = 0.

      • Time Complexity: O(N)
      • Space Complexity: O(N) - Heavy linear memory footprint on call stack frames.
      Parameters:
      v - Array containing integers to accumulate.
      Returns:
      Absolute summation of all components.
    • sumRecursiveDivision

      public int sumRecursiveDivision(int[] v)

      3. Divide invalid input: '&' Conquer by Division

      Bisects the array segments into equal binary halves symmetrically. Recurrence equation maps to a = 2, b = 2, k = 0.

      • Time Complexity: O(N) - Evaluates every element exactly once.
      • Space Complexity: O(log N) - Optimized call stack usage due to logarithmic tree depth.
      Parameters:
      v - Array containing integers to accumulate.
      Returns:
      Absolute summation of all components.