Skip to content

vijayksingh/DS-Algo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sufferings and Problem Solving

1. Table of Content

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

  • Stack
  • 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