This repository contains implementation of various data structures and algorithms in Java programming language. The following topics are covered in this repository:
A linked list is a linear data structure where each element is a separate object connected using pointers. This repository contains implementation of both singly linked list and doubly linked list in Java.
Double linked list is a type of linked list where each node contains two pointers, one pointing to the previous node and one pointing to the next node in the list.
A stack is a linear data structure that follows the last-in-first-out (LIFO) principle. This repository implements stack data structure using linked list in Java.
A queue is a linear data structure that follows the first-in-first-out (FIFO) principle. This repository implements queue data structure using linked list in Java.
A binary search tree is a type of data structure where each node has at most two children, left and right. The values in the left subtree are always less than the root and the values in the right subtree are greater than the root. This repository contains implementation of binary search tree in Java.
All the implementations in this repository are thoroughly tested and ready to use in your projects.