Skip to content
/ jedi Public

Data Structure and Algorithms, Concurrency in Java

License

Notifications You must be signed in to change notification settings

Zubayear/jedi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java [DSA, Design Patterns and Concurrency] Practice

Overview

This repository contains implementations of various Data Structures, Algorithms, Design Patterns, and Concurrency solutions in Java. The project serves as a learning resource and reference implementation for common programming concepts and solutions to LeetCode problems.

Project Structure

Data Structures

  • Array-based implementations

  • Linked structures

  • Tree-based structures

  • Graph implementations

  • Hash-based structures

Algorithms

  • LeetCode problem solutions

  • Sorting algorithms

  • Searching algorithms

  • Dynamic Programming

  • Graph algorithms

Design Patterns

Creational Patterns

  • Singleton

  • Factory

  • Abstract Factory

  • Builder

  • Prototype

Structural Patterns

  • Adapter

  • Bridge

  • Composite

  • Decorator

  • Facade

Behavioral Patterns

  • Observer

  • Strategy

  • Command

  • State

  • Iterator

Concurrency

  • Thread management

  • Synchronization mechanisms

  • Concurrent collections

  • Thread pools

  • Locks and atomic operations

Usage (Each implementation includes)

  1. Source code with detailed comments

  2. Time and space complexity analysis (for algorithms)

  3. Unit tests (where applicable)

Running the Code

  1. Clone the repository

  2. Open in IntelliJ IDEA

  3. Navigate to the specific implementation you want to run

  4. Run the main method or associated test cases

Contributing (Feel free to)

  1. Add new problem solutions

  2. Optimize existing implementations

  3. Add more test cases

  4. Improve documentation

Study Guide

  1. Start with basic data structures

  2. Move to essential algorithms

  3. Practice LeetCode problems

  4. Study design patterns

  5. Explore concurrency concepts

Resources

License

This project is licensed under the MIT License—see the LICENSE file for details.

Notes

  • All implementations are in Java

  • Solutions focus on both efficiency and readability

  • Includes explanations of complex algorithms and patterns

  • Concurrent implementations follow Java best practices

About

Data Structure and Algorithms, Concurrency in Java

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages