DS-Algo icon indicating copy to clipboard operation
DS-Algo copied to clipboard

A collection of everything i have done in DS

Sufferings and Problem Solving

1. Table of Content

    1. Table of Content
    1. Data Structures Implementation
    • 2.1. Common DS Implementation
    • 2.2. Common Algo Implementation
    • 2.3. Leetcode Explore
    1. Algo Monster
    • 3.1. Topics in Algo Monster
      • 3.1.1. Practice from Algo Monster
    1. Grokking the Coding Interview
    • 4.1. Patterns
    1. Grokking Dynamic Programming Patterns
    • 5.1. Patterns
    1. System Design
    1. Daily Logs

Refrences:

Study Approach

  • Practice and Study consistently. No Streak breaks
  • Create Flashcards daily.
  • List down all the aha moments in one file.
  • Practice Java / Create Projects in JAVA
  • Reserve time for writing notes and practicing flashcards

NOT TODO LIST

  • Block all the social media permanently.
  • Don't get distracted by any other technology
    • Don't start learning anything new
      • No for CSS
      • No for any new JS framework
      • No for any tool
      • No for Design

2. Data Structures Implementation

2.1. Common DS Implementation

  • [x] Stack
  • [x] Queue
  • [ ] Linked List
    • [ ] Doubly Linked List
  • [ ] Hashmap
  • [ ] Tree
    • [ ] Tree Implementation
    • [ ] Inorder
      • [ ] Recursive
      • [ ] Iterative
    • [ ] Preorder
      • [ ] Recursive
      • [ ] Iterative
    • [ ] PostOrder
      • [ ] Recursive
      • [ ] Iterative
    • [ ] AVL Tree
  • [ ] Trie
  • [ ] Hased Array Tree
  • [ ] LRU Cache
  • [ ] Graph
    • [ ] BFS
    • [ ] DFS

2.2. Common Algo Implementation

  • [ ] Sorting
    • [ ] Binary
    • [ ] Selection
    • [ ] Insertion
    • [ ] Quick
    • [ ] Merge
    • [ ] Counting
    • [ ] Radix
    • [ ] Bucket
    • [ ] Heap
  • [ ] Search
    • [ ] Binary Search
    • [ ] Lower Bound
    • [ ] Upper Bound
    • [ ] Binary Search on Ranges
  • [ ] String
    • [ ] Rabin Karp

2.3. Leetcode Explore

Array

3. Algo Monster

3.1. Topics in Algo Monster

  • [ ] Binary Search
  • [ ] Depth First Search
  • [ ] Backtracking
  • [ ] Breadth First Search
  • [ ] Graph
  • [ ] Two pointers
  • [ ] Priority Queue
  • [ ] Dynamic Programming
  • [ ] Divide and Conquer
  • [ ] Advanced Data Structure
  • [ ] Other

3.1.1. Practice from Algo Monster

  • [ ] Object Oriented Design
  • [ ] Amazon Online Assessment
  • [ ] Microsoft Online Assessment
  • [ ] Google Online Assessment
  • [ ] Twitter Online Assessment

4. Grokking the Coding Interview

4.1. Patterns

  • [ ] Sliding Window
  • [ ] Two Pointers
  • [ ] Fast and Slow Pointers
  • [ ] Merge Intervals
  • [ ] Cyclic Sort
  • [ ] In-place reversal of Linked List
  • [ ] Tree: Breadth First Search
  • [ ] Tree: Depth First Search
  • [ ] Two Heaps
  • [ ] Subsets
  • [ ] Modified Binary Search
  • [ ] Bitwise XOR
  • [ ] Top K Element
  • [ ] K-way merge
  • [ ] 0-1 Knapsack
  • [ ] Topological Sort
  • [ ] Miscellaneous

5. Grokking Dynamic Programming Patterns

5.1. Patterns

  • [ ] Knapsack
  • [ ] Unbounded Knapsack
  • [ ] Fibonacci Numbers
  • [ ] Palindromic Subsequence
  • [ ] Longest Common Substring

6. System Design

Reference :
List of Questions asked on System Design

7. Daily Logs

Day Count Source Problem Level Time Notes Solution Category R - 1 R - 2 R - 3 R - 4
1 Implement Stack Easy 20 m
Implement Queue Easy 30 m
Duplicate Zeros Easy 20 m
2 Valid Mountain Array Easy 30 m
Check if N and Its double Exist Easy 30 m
Remove Duplicate From Sorted Array Easy 30 m
Array Deletions Easy 30 m
Merge Sorted Arrays
3