/Aditya-verma-youtube-playlist-code

This repo consists of aditya verma youtube channel code for different section.

Primary LanguageC++

Aditya-verma-youtube-playlist-code

This repo consists of aditya verma youtube channel code for different section, I am still working this soon it will be updated fully, This repo I made for the purpose of revision Time and space complexity will be updated for all programs. If you want to explore more programes of DSA you can visit this REPO

Show some  ❤️  by starring this repository! It will push me to give more percentage of efforts

Dynamic Programming

S.No Problem Handwritten Notes Time Space
1 Knapsack Recursion 📘 O(2^n) O(1)
2 Knapsack Memoization-Top-Down 📘 O(N*W) O(N*W)
3 Knapsack Bottom-Up(DP) 📘 O(N*W) O(N*W)
4 Subset sum(Knapsack Variation) 📘 O(N*W) O(N*W)
5 Equal sum partition(subset sum & Knapsack Variation) 📘 O(N*W) O(N*W)
6 Count of Subsets with given Sum(subset sum & Knapsack Variation) 📘 O(N*W) O(N*W)
7 Minimum subset sum difference 📘 O(N*W) O(N*W)
8 Count the number of subset with given difference 📘 O(N*W) O(N*W)
9 Target sum(Leetcode) 📘 O(N*W) O(N*W)
10 Unbounded Knapsack 📘 O(N*W) O(N*W)
11 Rod cutting problem(Unbounded Knapsack) 📘 O(N*W) O(N*W)
12 Coin change problem : maximum no of ways 📘 O(N*W) O(N*W)
13 Coin change problem: Minimum number of coin 📘 O(N*W) O(N*W)
14 Longest Common Subsequence Recursive 📘 O(N*W) O(N*W)
15 Longest Common Subsequence Top down (Memoization) 📘 O(N*W) O(N*W)
16 Longest Common Subsequence Bottom Up(DP) 📘 O(N*W) O(N*W)
17 Longest Common Substring 📘 O(N*W) O(N*W)
18 Print Longest Common Subsequence 📘 O(N*W) O(N*W)
19 Shortest Common Supersequence 📘 O(N*W) O(N*W)
20 Minimum insertion & deletion to convert a to b 📘 O(N*W) O(N*W)
21 Longest Palindromic Subsequence 📘 O(N*W) O(N*W)
22 Minimum number of deletions to make a string palindrome 📘 O(N*W) O(N*W)
23 Print Shortest Common Supersequence 📘 O(N*W) O(N*W)
24 Longest repeating subsequence 📘 O(N*W) O(N*W)
25 Sequence pattern matching 📘 O(N*W) O(N*W)
26 Minimum Number of insertion to make a string palindrome 📘 O(N*W) O(N*W)
27 Matrix Chain Multiplication Recursive 📘 O(N*W) O(N*W)
28 Matrix Chain Multiplication Top Down (Memoization) 📘 O(N*W) O(N*W)
29 Palindrome Partitioning Recursive 📘 O(N*W) O(N*W)
30 Palindrome Partitioning Memoization 📘 O(N*W) O(N*W)
31 Palindrome Partitioning Memoized optimization 📘 O(N*W) O(N*W)
32 Evaluate Expression to true Recursive 📘 O(N*W) O(N*W)
33 Evaluate expression to true memoization using map 📘 O(N*W) O(N*W)
34 Evaluate expression to true memoization using 3d array 📘 O(N*W) O(N*W)
35 Scramble string recursive 📘 O(N*W) O(N*W)
36 Scramble string Top Down 📘 O(N*W) O(N*W)
37 Egg dropping problem recursive 📘 O(N*W) O(N*W)
38 Egg dropping problem Top Down(memoization) 📘 O(N*W) O(N*W)
39 Egg dropping problem memoization optimization 📘 O(N*W) O(N*W)
40 Dynamic programming on trees Syntax 📘 O(N*W) O(N*W)
41 Diameter of binary tree 📘 O(N*W) O(N*W)
42 Max path sum from any node to any 📘 O(N*W) O(N*W)
43 Max path sum from leaf to leaf 📘 O(N*W) O(N*W)

Stack

S.No Problem Handwritten Notes Time Space
1 Nearest greater to right 📘 O(n) O(n)
2 Nearest greater to left 📘 O(n) O(n)
3 Nearest smaller to left 📘 O(n) O(n)
4 Nearest Smaller to right 📘 O(n) O(n)
5 Stock span problem 📘 O(n) O(n)
5 Maximum Rectangular Area in a Histogram 📘 O(n) O(n)
6 Max area rectangle in Binary matrix 📘 O(n) O(n)

Binary Search

S.No Problem Handwritten Notes Time Space
1 Binary Search 📘 O(logn) O(logn)
2 Binary search on reverse sorted array 📘 O(logn) O(logn)
3 Order not known or Agonostic BS 📘 O(logn) O(logn)

Heap

S.No Problem Handwritten Notes Time Space
1 Kth smallest element 📘 O(n log k) O(n log k)
2 Kth largest element in an array 📘 O(n log k) O(n log k)
3 Nearly Sorted Algorithm or sort k sorted array 📘 O(n log k) O(n log k)

Sliding Window

S.No Problem Handwritten Notes Time Space
1 Maximum Sum Subarray of size K 📘 O(n) O(1)
2 First negative integer in every window of size k 📘 O(n) O(K)