A collection of common data structures and algorithms implemented by me in Java.
- Lists:
- Array List
- Linked List
- Doubly Linked List
- Circular Linked List
- Stack
- Queue
- Variants: Circular Queue, Priority Queue
- Trees:
- Binary Tree
- Binary Search Tree (BST)
- AVL Tree
- Heap:
- Min Heap/Max Heap
- Priority Heap
- Undirected Graph:
- Adjacency Matrix/Adjacency List Implementations
- Breadth-First Search (BFS), Depth-First Search (DFS)
- Dijkstra's algorithm
- Prim's Algorithm
- Hash Table
- Hash Map
- Hash Set
- Clone the repository:
git clone https://github.com/your-username/data-structures-java.git
- Navigate to the project directory:
cd data-structures-java - Compile and run the individual data structure implementations using your preferred Java IDE or via the command line:
javac FileName.java java FileName
Each data structure is located in its own folder, containing:
- Source Code (
.javafile): The implementation of the data structure. - Test Cases: Examples and test cases demonstrating its usage.
- Documentation: Brief explanations of the structure, its time complexity, and common operations.
- Comprehensive coverage of common data structures.
- Self-contained implementations with minimal dependencies.
- Includes well-documented test cases to demonstrate correctness and usage.
- Add more advanced data structures, such as Red-Black Trees, B-Trees, and Trie.
- Provide performance benchmarks for different operations.
- Include detailed explanations of algorithms and usage scenarios.
Feel free to contribute or raise issues if you find any bugs or have suggestions for improvement!