Skip to content

srummanf/Data-Structures-And-Algorithms_SQL-DA-DS_Interview-Practice

Repository files navigation

Data Structures and Algorithms for Inrerviews

A structured collection of Data Structures and Algorithms problems, solutions, notes, and interview-preparation material.

1782116882088

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.

A–Z DSA Concepts Reference

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

What This Repository Contains

  • 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.

Repository Structure

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

How To Use

  1. Pick a topic from DSA/Algorithms/ or DSA/Data Structures/.
  2. Read the related notes if a folder contains a README.md, ReadME.MD, or Learn.MD.
  3. Open the solution file and trace the approach.
  4. Re-solve the problem independently before checking the saved implementation.
  5. Use DSA/Company Wise/ when preparing for a specific company.

Running Solutions

Most solution files are standalone Java programs or LeetCode-style classes. For standalone Java files:

javac FileName.java
java FileName

Some files are intended for online judges and may need the platform-provided method signature or driver code.

Supporting Material

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.

Contributing

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.

License

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

Releases

No releases published

Packages

 
 
 

Contributors