A structured collection of Data Structures and Algorithms problems, solutions, notes, and interview-preparation material.
This repository is a study and practice hub: a place to keep solved DSA problems organized by topic, data structure, company, and supporting interview resources.
| Letter | Concept | Category |
|---|---|---|
| 0-9 | 0/1 Knapsack | Dynamic Programming |
| 0-9 | 4 Queens | Backtracking |
| 0-9 | 8 Queens | Backtracking |
| A | Array | Data Structure |
| A | A* Algorithm | Graph Algorithm |
| A | Adaptive and Non-Adaptive Searching Algorithms | Searching |
| A | Advanced Data Structures | Data Structures |
| A | Algorithm | Fundamentals |
| A | Angular Sweep | Computational Geometry |
| A | AVL Tree | Tree |
| B | B-Tree | Tree |
| B | Backtracking | Algorithmic Paradigm |
| B | Balanced Binary Tree | Tree |
| B | Bellman-Ford Algorithm | Graph Algorithm |
| B | Binary Search | Searching |
| B | Binary Tree | Tree |
| B | Binary Search Tree (BST) | Tree |
| B | Binary Heap | Heap |
| B | Bit Manipulation | Bitwise Techniques |
| B | Boyer-Moore Algorithm | String Algorithm |
| B | Booth's Multiplication Algorithm | Mathematical Algorithm |
| B | Breadth-First Search (BFS) | Graph Traversal |
| B | Bucket Sort | Sorting |
| C | Circular Array | Array |
| C | Circular Linked List | Linked List |
| C | Circular Queue | Queue |
| C | Complete Binary Tree | Tree |
| C | Complexity Analysis | Analysis |
| C | Convex Hull | Computational Geometry |
| D | Depth-First Search (DFS) | Graph Traversal |
| D | Divide and Conquer | Algorithmic Paradigm |
| D | Dijkstra's Algorithm | Graph Algorithm |
| D | Doubly Linked List | Linked List |
| D | Dynamic Arrays | Array |
| D | Dynamic Programming | Algorithmic Paradigm |
| D | Dynamic Segment Tree | Tree |
| E | Exponential Search | Searching |
| E | Expression Trees | Tree |
| E | Extended Binary Trees | Tree |
| E | External Sorting | Sorting |
| F | Factorial of a Number | Mathematics |
| F | Fenwick Tree (BIT) | Tree |
| F | Floyd-Warshall Algorithm | Graph Algorithm |
| F | Fibonacci Heap | Heap |
| F | Full Binary Tree | Tree |
| G | Graphs | Data Structure |
| G | Greedy Algorithms | Algorithmic Paradigm |
| H | Hash Table | Hashing |
| H | Hash Map | Hashing |
| H | Huffman Coding | Greedy Algorithm |
| I | Inorder Traversal | Tree Traversal |
| I | Insertion Sort | Sorting |
| I | Interval Tree | Tree |
| I | Inversion Count | Array/Divide & Conquer |
| I | Invert Binary Tree | Tree |
| J | Jump Search | Searching |
| J | Jagged Arrays | Array |
| J | JSON Array | Data Format |
| K | Kadane's Algorithm | Dynamic Programming |
| K | KMP Algorithm | String Algorithm |
| K | Kruskal's Algorithm | Graph Algorithm |
| L | Lazy Propagation in Segment Tree | Tree |
| L | Linear Search | Searching |
| L | Linked List | Data Structure |
| L | Longest Common Subsequence (LCS) | Dynamic Programming |
| L | LRU Cache | Design/Data Structure |
| M | Merge Sort | Sorting |
| M | Matrix Chain Multiplication | Dynamic Programming |
| M | Minimum Spanning Tree (MST) | Graph Algorithm |
| M | Multidimensional Arrays | Array |
| N | N-ary Tree | Tree |
| N | N-Queens | Backtracking |
| N | Network Flow | Graph Algorithm |
| O | Order Statistics | Selection Algorithm |
| O | Overlapping Subproblems | Dynamic Programming |
| P | Postorder Traversal | Tree Traversal |
| P | Preorder Traversal | Tree Traversal |
| P | Priority Queue | Data Structure |
| P | Prim's Algorithm | Graph Algorithm |
| Q | Quick Sort | Sorting |
| Q | Queue | Data Structure |
| Q | Quadtree | Tree |
| R | Rabin-Karp Algorithm | String Algorithm |
| R | Radix Sort | Sorting |
| R | Recursion | Fundamental Technique |
| R | Red-Black Tree | Tree |
| R | Rubik's Cube Algorithm | Puzzle Algorithm |
| S | Segment Tree | Tree |
| S | Selection Sort | Sorting |
| S | Shortest Path Algorithms | Graph Algorithm |
| S | Singly Linked List | Linked List |
| S | Sorting Algorithms | Algorithms |
| S | Sparse Arrays | Array |
| S | Stack | Data Structure |
| S | Strings | Data Structure |
| S | Subset Sum Problem | Dynamic Programming |
| S | Sudoku Problem | Backtracking |
| T | Topological Sorting | Graph Algorithm |
| T | Tree Traversal | Tree |
| T | Trie | Tree |
| T | Two Pointer Algorithm | Array Technique |
| T | Two-Dimensional Segment Tree | Tree |
| T | Types of Asymptotic Notations | Complexity Analysis |
| U | Union-Find (Disjoint Set Union - DSU) | Data Structure |
| V | Vertex Cover | Graph Algorithm |
| W | Warshall's Algorithm | Graph Algorithm |
| W | Weighted Graphs | Graph Theory |
| X | XOR Linked List | Linked List |
| X | XOR Trees | Tree |
| Y | Y-Shaped Pattern | Pattern Problem |
| Z | Z-Algorithm | String Algorithm |
| Z | Zigzag Traversal | Tree Traversal |
- Topic-wise DSA solutions covering algorithms, data structures, strings, and company-wise practice.
- Java-first implementations, with a few supporting files in other languages where useful.
- Notes and learning material for interview preparation.
- SQL, AI/ML, data science, and placement resources that support broader technical preparation.
- Automated LeetCode solution folders for generated or imported problem entries.
dsahub/
|-- DSA/
| |-- Algorithms/ # Algorithmic patterns and techniques
| |-- Data Structures/ # Core data-structure implementations and problems
| |-- Company Wise/ # Company-tagged coding questions and notes
| `-- String/ # String-focused problems and techniques
|-- LeetcodeAutomated/ # LeetCode problem folders with solution files
|-- Interview/ # CS notes, interview tips, SQL, and system-design material
|-- AI ML/ # Data science, machine learning, and deep learning resources
|-- Resources/ # DSA sheets, guides, PDFs, and extra reference material
|-- image/ # Images used by notes and documentation
|-- CONTRIBUTING.md # Contribution guidelines
|-- LICENSE.md # License information
`-- README.md # Repository overview
- Pick a topic from
DSA/Algorithms/orDSA/Data Structures/. - Read the related notes if a folder contains a
README.md,ReadME.MD, orLearn.MD. - Open the solution file and trace the approach.
- Re-solve the problem independently before checking the saved implementation.
- Use
DSA/Company Wise/when preparing for a specific company.
Most solution files are standalone Java programs or LeetCode-style classes. For standalone Java files:
javac FileName.java
java FileNameSome files are intended for online judges and may need the platform-provided method signature or driver code.
Beyond solved DSA problems, this repository also includes:
Interview/for CS fundamentals, SQL, system design, HR questions, and interview notes.Resources/for DSA sheets, guides, and revision material.AI ML/for data science, machine learning, and deep learning references.LeetcodeAutomated/for LeetCode problem folders generated or saved during practice.
Contributions are welcome when they keep the repository organized and useful.
Before contributing:
- Follow the existing folder structure.
- Place solutions in the most relevant topic or company folder.
- Use clear file names that describe the problem.
- Add short notes when an approach is non-obvious.
- Read CONTRIBUTING.md before opening a pull request.
This repository is licensed under the terms of LICENSE.md.
|
Maintained by Shaikh Rumman Fardeen GitHub: @srummanf rummanfardeen4567@gmail.com |
Project Links Live Demo Source Code MIT License | Contributing |
