↑
Dev
Stack
Flow
Home
Languages
Java
Python
C++
JavaScript
View all languages →
DSA
DSA Problems
Jobs
About
Get Started →
Home
Languages
Java
Python
C++
JavaScript
View all languages →
DSA
DSA Problems
Jobs
About
Get Started →
DSA Tutorial
✕
🔍
Expand All
DSA Foundations
Introduction to DSA
What is Data Structure?
What is an Algorithm?
Complexity Analysis
Time Complexity (Big-O)
Space Complexity
Asymptotic Notation
Problem Solving
How to Approach Problems
How to Identify Patterns
Brute Force to Optimal
Choosing the Right Data Structure
Arrays
Array Basics
How Arrays Work in Memory
Array Traversal
Array Operations
Time & Space Complexity
2D Arrays
Dynamic Arrays
Practice Problems
Strings
String Basics
How Strings Work in Memory
String Traversal
String Operations
Mutable vs Immutable Strings
Time & Space Complexity
Practice Problems
Searching
Linear Search
Binary Search
Binary Search Patterns
Practice Problems
Sorting
Sorting Basics
Bubble Sort
Selection Sort
Insertion Sort
Merge Sort
Quick Sort
Stable vs Unstable Sorting
Sorting Comparison
Practice Problems
Hashing
Hashing Basics
HashMap
HashSet
Collision Handling
Frequency Counting
Time & Space Complexity
Practice Problems
Recursion
Recursion Basics
How Recursion Works
Call Stack
Base Case & Recursive Case
Recursion Tree
Practice Problems
Linked List
Linked List Basics
Singly Linked List
Doubly Linked List
Circular Linked List
Linked List Collection frameworks
Practice Problems
Stack
Stack Basics
Stack Operations
Stack Implementation
Stack Collection Frameworks
Balanced Parentheses
Expression Evaluation
Monotonic Stack
Practice Problems
Queue
Queue Basics
Queue Operations
Queue Implementation
Queue Collection Frameworks
Circular Queue
Deque
Priority Queue
Queue in BFS
Practice Problems
Trees
Tree Basics & Terminologies
Types of Trees
Binary Tree Basics & Types
Binary Tree DFS Traversals
BFS / Level Order Traversal
Binary Tree Operations
Binary Tree Practice Problems
BST Basics
BST DFS Traversals
BST BFS Traversal
BST Operations
BST Practice Problems
Heap
Trie
Advanced Trees
Graphs
Graph Basics and Terminologies
Graph Representation
Types of Graphs
Breadth First Search (BFS)
Depth First Search (DFS)
Connected Components
Cycle Detection
Topological Sort
Shortest Path Algorithms
Dijkstra's Algorithm
Minimum Spanning Tree
Union Find (DSU)
Practice Problems
Backtracking
Backtracking Basics
Decision Tree Thinking
Time & Space Complexity
Subsets
Permutations
Combination Problems
N-Queens
Sudoku Solver
Word Search
Common Mistakes
Practice Problems
Dynamic Programming
DP Basics
State Transition Thinking
Memoization
Tabulation
Memoization vs Tabulation
1D Dynamic Programming
2D Dynamic Programming
Knapsack Pattern
Longest Common Subsequence (LCS)
Longest Increasing Subsequence (LIS)
Time & Space Complexity
Common Mistakes
Practice Problems
Algorithmic Patterns
Two Pointers
Sliding Window
Fast & Slow Pointers
Prefix Sum
Hashing Pattern
Binary Search Pattern
Greedy Pattern
Divide & Conquer
Heap Pattern
Monotonic Stack & Queue
Practice Problems
Interview Preparation
Top 100 DSA Problems
Blind 75
NeetCode 150
Pattern → Problem Map
Easy → Medium Roadmap
Medium → Hard Roadmap
FAANG Question Bank
Mock Interviews
Revision & Strategy
Weekly Revision Plan
Spaced Repetition Guide
Mixed Problem Sets
Mock Interview Schedule
Self Assessment Checklist
Topics
DSA
›
Dynamic Programming
›
DP Basics
DP Basics
Content not found for this topic.
←
Previous
Practice Problems
Next
State Transition Thinking
→
basics | DSA Tutorial