Welcome to the Data Structures and Algorithms repository! This Java-centric repository contains a collection of commonly used data structures and algorithms to help you strengthen your programming skills.
This repository is a comprehensive guide to understanding and implementing various data structures and algorithms in the Java programming language. Whether you're a Java enthusiast or looking to enhance your DSA skills, this resource is here to help.
The implementations in this repository are exclusively in Java, the language that brings coffee and code together! ☕
Feel free to contribute additional implementations or improvements in Java.
Explore a variety of algorithms including:
-
Sorting algorithms
- Bubble Sort
- Merge Sort
- Quick Sort
- Insertion Sort
- Selection Sort
-
Searching algorithms
- Binary Search
- Linear Search
-
Graph algorithms
- Depth-First Search (DFS)
- Breadth-First Search (BFS)
- Dijkstra's Algorithm
- Kruskal's Algorithm
- Prim's Algorithm
-
Dynamic programming
- Fibonacci sequence
- Knapsack Problem
- Longest Common Subsequence
- Coin Change Problem
Discover implementations of fundamental data structures in Java, such as:
-
Arrays
- Single Dimensional Array
- Multi-Dimensional Array
-
Linked Lists
- Singly Linked List
- Doubly Linked List
- Circular Linked List
-
Trees
- Binary Trees
- Binary Search Trees (BST)
- AVL Trees
- Red-Black Trees
-
Hash Tables
- HashMap
- HashSet
-
Stacks and Queues
- Stack
- Queue
- Priority Queue
- Deque
Happy coding! 🎉