A2Z DSA Sheet
This repository contains my solutions to the A2Z DSA Sheet created by Striver. I am following this structured guide to master Data Structures and Algorithms (DSA), providing solutions and updates for each step of the roadmap.
Table of Contents
- Step 1: Basics
- Step 2: Arrays
- Step 3: Sorting and Searching
- Step 4: Binary Search
- Step 5: Strings
- Step 6: Learn LinkedList
- Step 7: Recursion
- Step 8: Bit Manipulation
- Step 9: Stack and Queues
- Step 10: Sliding Window & Two Pointer Combined Problems
- Step 11: Heaps
- Step 12: Greedy Algorithms
- Step 13: Binary Trees
- Step 14: Binary Search Trees
- Step 15: Graphs
- Step 16: Dynamic Programming
- Step 17: Tries
- Step 18: Strings
- Contributing
- License
Step 1: Basics
Lec 1: Introduction to DSA
Lec 2: Complexity Analysis
Step 2: Arrays
Lec 1: Introduction to Arrays
Lec 2: Easy Array Problems
Lec 3: Medium Array Problems
Step 3: Sorting and Searching
Lec 1: Sorting Algorithms
Lec 2: Searching Algorithms
Lec 3: Hard
Step 4: Binary Search
Lec 1: BS on 1D Arrays
Lec 2: BS on Answers
Lec 3: BS on 2D Arrays
Step 5: Strings
Lec 1: Basic and Easy String Problems
Lec 2: Medium String Problems
Step 6: Learn LinkedList
Lec 1: Learn 1D LinkedList
Lec 2: Learn Doubly LinkedList
Lec 3: Medium Problems of LL
Lec 4: Medium Problems of DLL
Lec 5: Hard Problems of LL
Step 7: Recursion
Lec 1: Get a Strong Hold
Lec 2: Subsequences Pattern
Lec 3: Trying out all Combos
Step 8: Bit Manipulation
Lec 1: Learn Bit Manipulation
Lec 2: Interview Problems
Lec 3: Advanced Maths
Step 9: Stack and Queues
Lec 1: Learning
Lec 2: Prefix, Infix, PostFix Conversion Problems
Lec 3: Monotonic Stack/Queue Problems
Lec 4: Implementation Problems
Step 10: Sliding Window & Two Pointer Combined Problems
Lec 1: Medium Problems
Lec 2: Hard Problems
Step 11: Heaps
Lec 1: Learning
Lec 2: Medium Problems
Lec 3: Hard Problems
Step 12: Greedy Algorithms
Lec 1: Easy Problems
Lec 2: Medium/Hard Problems
Step 13: Binary Trees
Lec 1: Traversals
Lec 2: Medium Problems
Lec 3: Hard Problems
Step 14: Binary Search Trees
Lec 1: Concepts
Lec 2: Practice Problems
Step 15: Graphs
Lec 1: Learning
Lec 2: Problems on BFS/DFS
Lec 3: Topo Sort and Problems
Lec 4: Shortest Path Algorithms and Problems
Lec 5: Minimum Spanning Tree
Lec 6: Other Algorithms
Step 16: Dynamic Programming
Lec 1: Introduction to DP
Lec 2: 1D DP
Lec 3: 2D/3D DP and DP on Grids
Lec 4: DP on Subsequences
Lec 5: DP on Strings
Lec 6: DP on Stocks
Lec 7: DP on LIS
Lec 8: MCM DP | Partition DP
Lec 9: DP on Squares
Step 17: Tries
Lec 1: Theory
Lec 2: Problems
Step 18: Strings
Lec 1: Hard Problems
Contributing
We welcome contributions! If you’d like to contribute to any of the topics, feel free to fork the repo and submit a pull request.