Welcome to DSA-with-Java, a personal learning repository dedicated to mastering Data Structures and Algorithms (DSA) using Java. This repository contains implementations of various DSA concepts, problems, and solutions designed to strengthen algorithmic thinking and problem-solving skills.
- Arrays
- Strings
- Linked List
- Singly Linked List
- Doubly Linked List
- Circular Linked List
- Stacks
- Queues
- Circular Queue
- Priority Queue
- Deque
- Hashing
- HashMap
- HashSet
- Trees
- Binary Trees
- Binary Search Trees
- AVL Trees
- Segment Trees
- Trie
- Graphs
- Adjacency Matrix
- Adjacency List
- Weighted Graphs
- Heaps
- Min Heap
- Max Heap
- Disjoint Set (Union-Find)
- Bit Manipulation
- Sorting Algorithms
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Heap Sort
- Counting Sort
- Radix Sort
- Searching Algorithms
- Linear Search
- Binary Search
- Ternary Search
- Recursion and Backtracking
- Subset Generation
- Permutations and Combinations
- N-Queens Problem
- Sudoku Solver
- Greedy Algorithms
- Activity Selection Problem
- Huffman Encoding
- Kruskal's Algorithm
- Prim's Algorithm
- Dynamic Programming
- Longest Common Subsequence
- Longest Increasing Subsequence
- Knapsack Problem
- Matrix Chain Multiplication
- Coin Change Problem
- Graph Algorithms
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Dijkstra's Algorithm
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm
- Topological Sorting
- Minimum Spanning Tree (Kruskal, Prim)
- Divide and Conquer
- Merge Sort
- Quick Sort
- Binary Search
- Sliding Window Techniques
- Maximum Sum Subarray
- Minimum Window Substring
- Two Pointer Techniques
- Bit Manipulation
- Subset Generation using Bits
- Bitwise Operations
- Mathematical Algorithms
- Sieve of Eratosthenes
- GCD and LCM
- Modular Arithmetic
- String Algorithms
- KMP Algorithm
- Rabin-Karp Algorithm
- Z-Algorithm
- Trie Operations
- Advanced Topics
- Fenwick Tree
- Segment Tree
- Graph Coloring
- Maximum Flow (Ford-Fulkerson)
- Language: Java
- IDE: IntelliJ IDEA
💡 "Mastering Data Structures and Algorithms isn't just about cracking placements—it's about building the foundation to solve real-world problems efficiently. Your DSA journey is the gateway to acing interviews and excelling in your tech career." 💻