This repository contains a collection of fundamental data structures implemented in Java. Each data structure is built from scratch, avoiding Java's built-in collections, to ensure a deep understanding of how these structures work internally. These implementations are ideal for students, developers preparing for coding interviews, or anyone looking to strengthen their computer science fundamentals.
- DoublyLinkedList: A linked list where each node points to both its previous and next nodes.
- DynamicStack: A stack implementation that dynamically adjusts its capacity as elements are pushed or popped.
- HashTable: Key-value storage using hashing for efficient lookups.
- LinkedList: A singly linked list implementation supporting insertion, deletion, traversal, and search operations.
- List: A general linear data structure offering sequential access to elements.
- Queue: A First-In-First-Out (FIFO) implementation with enqueue and dequeue operations.
- Stack: A Last-In-First-Out (LIFO) data structure supporting push, pop, and peek operations.
- UnorderedPriorityQueue: A priority queue implementation without strict ordering rules for insertion.