/DSA-Sheet

This repository contains my personal solutions to Striver's A-Z Data Structures and Algorithms (DSA) sheet. It serves as a public record of my progress, with code implementations and occasional insights. Follow along as I tackle each problem and solidify my understanding of key DSA concepts.

Primary LanguageC++MIT LicenseMIT

DSA-Sheet

DSA

Progress

License

Overview

This repository is a personal project where I track my progress through Striver's A-Z Data Structures and Algorithms (DSA) sheet. By making my solutions public, I hope to contribute to the community and help others who are on the same learning journey.

Table of Contents

Introduction

Striver's A-Z DSA sheet is an excellent resource for anyone looking to build a solid foundation in Data Structures and Algorithms. This repository serves as my personal logbook, documenting each problem I solve with my code implementations. The goal is to maintain transparency in my learning process and to potentially help others who are following a similar path.

Progress

I will update this section regularly as I complete more problems:

Overall progress

Progress

Topics Overview

Topic Subtopic Problems Solved Total Problems Progress Status
Basics [31/31] Lec 1: Basics of C++ 9 9 100% ✅ Completed
Lec 2: Logic building 1 1 100% ✅ Completed
--->Patterns 22 22 100% ✅ Completed
Lec 3: C++ STL 2 2 100% ✅ Completed
Lec 4: Basic Maths 7 7 100% ✅ Completed
Lec 5: Basic recursion 9 9 100% ✅ Completed
Lec 6: Basic hashing 3 3 100% ✅ Completed
Sorting [7/7] Lec 1: Sorting I 3 3 100% ✅ Completed
Lec 2: Sorting II 4 4 100% ✅ Completed
Arrays [40/40] Lec 1: Easy 14 14 100% ✅ Completed
Lec 2: Medium 14 14 100% ✅ Completed
Lec 3: Hard 12 12 100% ✅ Completed
Binary Search [32/32] Lec 1: BS on 1D arrays 13 13 100% ✅ Completed
Lec 2: BS on answers 14 14 100% ✅ Completed
Lec 3: BS on 2D arrays 5 5 100% ✅ Completed
Strings[Basic and Medium] [15/15] Lec 1: Basic String problems 7 7 100% ✅ Completed
Lec 2: Medium String problems 8 8 100% ✅ Completed
Linked Lists [31/31] Lec 1: 1D Linked List 5 5 100% ✅ Completed
Lec 2: Doubly Linked List 4 4 100% ✅ Completed
Lec 3: Medium problems of LL 15 15 100% ✅ Completed
Lec 4: Medium problems of DLL 3 3 100% ✅ Completed
Lec 5: Hard problems of LL 4 4 100% ✅ Completed
Recursion [5/25] Lec 1: Recursion basics 5 5 100% ✅ Completed
Lec 2: Subsequences pattern 12 12 50% 🟠 In Progress
Lec 3: Hard problems 0 8 00% 🔴 Not Started
Bit Manipulation [0/18] Lec 1: Learning 0 8 00% 🔴 Not Started
Lec 2: Interview Problems 0 5 00% 🔴 Not Started
Lec 3: Advanced maths 0 5 00% 🔴 Not Started
Stacks and Queues [0/30] Lec 1: Learning 0 8 00% 🔴 Not Started
Lec 2: Prefix, Infix, PostFix Conversion Problems 0 6 00% 🔴 Not Started
Lec 3: Monotonic Stack/Queue Problems [VVV. Imp] 0 11 00% 🔴 Not Started
Lec 4: Implementation Problems 0 5 00% 🔴 Not Started
Sliding Window & Two Pointer Combined Problems [0/12] Lec 1: Medium Problems 0 8 00% 🔴 Not Started
Lec 2: Hard Problems 0 4 00% 🔴 Not Started
Heaps [0/17] Lec 1: Learning 0 4 00% 🔴 Not Started
Lec 2: Medium Problems 0 7 00% 🔴 Not Started
Lec 3: Hard Problems 0 6 00% 🔴 Not Started
Greedy Algorithms [0/16] Lec 1: Easy problems 0 5 00% 🔴 Not Started
Lec 2: Medium / Hard 0 11 00% 🔴 Not Started
Binary Trees [0/39] Lec 1: Transversals 0 13 00% 🔴 Not Started
Lec 2: Medium Problems 0 12 00% 🔴 Not Started
Lec 3: Hard Problems 0 14 00% 🔴 Not Started
Binary Search Trees [0/16] Lec 1: Concepts 0 3 00% 🔴 Not Started
Lec 2: Practice Problems 0 13 00% 🔴 Not Started
Graphs [0/54] Lec 1: Learning 0 6 00% 🔴 Not Started
Lec 2: Problems on BFS/DFS 0 14 00% 🔴 Not Started
Lec 3: Topo Sort and Problems 0 7 00% 🔴 Not Started
Lec 4: Shortest Path Algorithms and Problems 0 13 00% 🔴 Not Started
Lec 5: Minimum Spanning Tree/ Disjoint set and problems 0 11 00% 🔴 Not Started
Lec 6: Other Algorithms 0 3 00% 🔴 Not Started
Dynamic Programming [0/56] Lec 1: Introduction to DP 0 1 00% 🔴 Not Started
Lec 2: 1D DP 0 5 00% 🔴 Not Started
Lec 3: 2D/3D DP and DP on grids 0 7 00% 🔴 Not Started
Lec 4: DP on Subsequences 0 11 00% 🔴 Not Started
Lec 5: DP on Strings 0 10 00% 🔴 Not Started
Lec 6: DP on Stocks 0 6 00% 🔴 Not Started
Lec 7: DP on LIS 0 7 00% 🔴 Not Started
Lec 8: MCM DP/ Partition DP 0 7 00% 🔴 Not Started
Lec 9: DP on Squares 0 2 00% 🔴 Not Started
Tries [0/7] Lec 1: Theory 0 1 00% 🔴 Not Started
Lec 2: Problems 0 6 00% 🔴 Not Started
Strings [0/9] Lec 1: Hard Problems 0 9 00% 🔴 Not Started

Structure

The repository is organized by topics, with each topic containing directories for my personal solutions. Each directory includes:

  • Solution: My code implementation of the problem.

  • Additional Notes: Any insights or comments I found useful while solving the problem.

Example Structure

.
├── Day 1
│   ├── Lec 1
|       ├── Problem1.cpp
│       ├── Problem2.cpp
│       └── ...
│   ├── Lec 2
|       ├── Problem1.cpp
│       ├── Problem2.cpp
│       └── ...
├── Day 2
│   ├── Lec 3
|       ├── Problem1.cpp
│       ├── Problem2.cpp
│       └── ...
└── ...

Contributing

Although this repository is primarily for tracking my own progress, I welcome any suggestions, improvements, or discussions. Feel free to open an issue or submit a pull request if you find something that can be improved.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgements

  • Striver: For creating the A-Z DSA sheet and providing a structured path for DSA practice.
  • The open-source community for continuous learning and collaboration.