Skip to content

blackhebrewisraeli/Java-Assignment11-Efficiency

Repository files navigation

Ex11 – 2D Efficiency and Search Algorithms (Course 20454)

Language: Java Paradigm: Algorithms Focus: Binary Search Focus: Greedy Complexity: Time/Space License: MIT

Java solutions for Maman 11 (course 20454): O(1)/O(log n)/O(n) methods over sum arrays and super-increasing sequences, featuring binary search and a greedy subset-sum check.

Author

  • Name: Shimon Esterkin (blackhebrewisraeli)
  • ID: *****2258
  • Version: 2025B

Overview

This repository contains the solution for Maman 11, an academic assignment for the course Introduction to Computer Science Using Java (course number 20454) at the Open University of Israel.
The assignment focuses on time and space complexity, binary search, and greedy algorithms applied to efficient data structures.


📁 Files Included

  • Ex11.java – Contains all the methods solving the assignment's questions.
  • Ex11.class – Compiled bytecode file of Ex11.java.
  • Ex11StudentTester.java – A custom test class used to validate all implemented methods.
  • Assigment Final Score Summerization 95.png.png – Visual confirmation of the final grade received: 95/100.
  • Assigment Final Score Summerization (Extended) 95.png.png – Detailed breakdown of the score given to the assignment.

✅ Covered Topics

🔹 Q1.1 – Reconstruct Value from Sum Array

  • Retrieves a value from an original array using its cumulative (sum) array.
  • Time Complexity: O(1)
  • Space Complexity: O(1)

🔹 Q1.2 – Binary Search Over Derived Array

  • Efficiently finds the index of a value in the original array using only the sum array.
  • Time Complexity: O(log n)
  • Space Complexity: O(1)

🔹 Q2 – Subset-Sum on Super-Increasing Sequence

  • Checks if a subset of a super-increasing series can sum to a target value.
  • Uses a greedy algorithm tailored to the properties of super-increasing sequences.
  • Time Complexity: O(n)
  • Space Complexity: O(1)

🏆 Final Grade

The assignment received a final score of 95/100.

Final Score


Created by blackhebrewisraeli for academic and portfolio purposes. This repository is intended for non-commercial, educational sharing only.

About

Academic assigment in java, practicing efficiency, sorting types and calculating Time/Space Complexity.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages