This repository showcases a comprehensive study of core data structures and algorithmic principles using Java. It blends theoretical foundations with practical implementations, performance analysis, and rigorous testing — designed for academic excellence, technical interviews, and real-world system design.
Each module is structured to demonstrate clarity, scalability, and efficiency, with code written to reflect best practices in object-oriented programming and algorithmic thinking.
- Implement foundational data structures in Java
- Analyze time and space complexity using Big O notation
- Apply generic programming and recursion where appropriate
- Validate functionality through targeted unit tests
- Compare performance trade-offs across implementations
| Folder Name | Description |
|---|---|
Task1_B Java Code |
Java code examples with annotated complexity analysis |
Task 1_C |
Theoretical breakdown of algorithmic performance using Big O notation |
Task2_And Testing various scenarios |
Stack implementation with getMin() optimization and edge-case testing |
Task3 |
Advanced structures: Linked Lists, Binary Search Trees, Graphs |
Task4 |
Java Collections: HashMap and ArrayList usage with performance comparison |
- Big O notation: O(1), O(n), O(log n), O(n²), O(2ⁿ)
- Time vs Space complexity
- Code walkthroughs with performance annotations
- LIFO principle
- Dual-stack
getMin()design (O(1) time) - Generic stack with
<T extends Comparable<T>> - Unit testing: duplicates, edge cases, empty states
- Singly & Doubly Linked Lists
- Binary Search Tree (BST): insert, search, delete, traversal
- Graph representation via adjacency matrix
- Applications: LRU cache, auto-suggestion, network mapping
- HashMap: key-value operations, constant-time access
- ArrayList: indexed storage, filtering with Iterator
- Time complexity comparison: HashMap vs list-based mapping
- Use cases: caching, indexing, session tracking
Each implementation is validated through targeted test cases:
- Functional correctness
- Edge case handling
- Console output verification
- Performance sensitivity
- Clone the repository:
git clone https://github.com/Mustan-dev/java-data-structures-analysis cd java-data-analysis
This project is licensed under the MIT License and is intended for educational and portfolio use.
Mustan
GitHub: github.com/Mustan-dev