kunal-kushwaha / DSA-Bootcamp-Java

This repository consists of the code samples, assignments, and notes for the Java data structures & algorithms + interview preparation bootcamp of WeMakeDevs.

Home Page:https://www.youtube.com/playlist?list=PL9gnSGHSqcnr_DxHsP7AW9ftq0AtAyYqJ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DSA-Bootcamp-Java Progress Tracker

Yacoub777 opened this issue · comments

    # Progress Tracker

DSA

  • Complete Git & GitHub Course

  • Introduction to Programming

      • Types of languages
      • Memory management
  • Flow of the program

      • Flowcharts
      • Pseudocode
  • Introduction to Java

      • Introduction
      • How it works
      • Setup Installation
      • Input and Output in Java
      • Conditionals & Loops in Java
        • if else
        • loops
        • Switch statements
      • Data types
      • Coding best practices
  • Functions

      • Introduction
      • Scoping in Java
      • Shadowing
      • Variable Length Arguments
      • Overloading
  • Arrays

      • Introduction
      • Memory management
      • Input and Output
      • ArrayList Introduction
      • Sorting
        • Insertion Sort
        • Selection Sort
        • Bubble Sort
        • Cyclic Sort (Merge sort etc after recursion)
    • Searching

        • Linear Search
        • Binary Search
        • Modified Binary Search
        • Binary Search Interview questions
        • Binary Search on 2D Arrays
  • Pattern questions

  • Strings

    • Introduction
    • How Strings work
    • Comparison of methods
    • Operations in Strings
    • StringBuilder in java
  • Maths for DSA

      • Introduction
      • Complete Bitwise Operators
      • Prime numbers
      • HCF / LCM
      • Sieve of Eratosthenes
      • Newton's Square Root Method
      • Number Theory
      • Euclidean algorithm
  • Space and Time Complexity Analysis

      • Introduction
      • Comparion of various cases
      • Solving Linear Recurrence Relations
      • Solving Divide and Conquer Recurrence Relations
      • Big-O, Big-Omega, Big-Theta Notations
      • Get equation of any relation easily - best and easiest approach
      • Complexity discussion of all the problems we do
      • Space Complexity
      • Memory Allocation of various languages
      • NP Completeness and Hardness
  • Recursion

      • Introduction
      • Why recursion?
      • Flow of recursive programs - stacks
      • Convert recursion to iteration
      • Tree building of function calls
      • Tail recursion
      • Sorting:

          • Merge Sort
          • Quick Sort
      • Backtracking

          • Sudoku Solver
          • N-Queens
          • N-Knights
          • Maze problems
      • Recursion String Problems
      • Recursion Array Problems
      • Recursion Pattern Problems
      • Subset Questions
      • Recursion - Permutations, Dice Throws etc Questions
  • Object Oriented Programming

      • Introduction
      • Classes & its instances
      • this keyword in Java
      • Properties

          • Inheritance
          • Abstraction
          • Polymorphism
          • Encapsulation
      • Overloading & Overriding
      • Static & Non-Static
      • Access Control
      • Interfaces
      • Abstract Classes
      • Singleton Class
      • final, finalize, finally
      • Exception Handling
  • Linked List

      • Introduction
      • Singly and Doubly Linked List
      • Circular Linked List
      • Fast and slow pointer
      • Cycle Detection
      • Reversing of LinekdList
      • Linked List Interview questions
  • Stacks & Queues

      • Introduction
      • Interview problems
      • Push efficient
      • Pop efficient
      • Queue using Stack and Vice versa
      • Circular Queue
  • Dynamic Programming

      • Introduction
      • Recursion + Recursion DP + Iteration + Iteration Space Optimized
      • Complexity Analysis
      • 0/1 Knapsack
      • Subset Questions
      • Unbounded Knapsack
      • Subseq questions
      • String DP
  • Trees

      • Introduction
      • Binary Trees
      • Binary Search Trees
      • DFS
      • BFS
      • AVL Trees
      • Segment Tree
      • Fenwick Tree / Binary Indexed Tree
  • Heaps

      • Introduction
      • Theory
      • Priority Queue
      • Two Heaps Method
      • k-way merge
      • top k elements
      • interval problems
  • Hashmaps

      • Introduction
      • Theory - how it works
      • Comparisons of various forms
      • Limitations and how to solve
      • Map using LinkedList
      • Map using Hash
      • Chaining
      • Probing
      • Huffman-Encoder
  • Tries

  • Graphs

      • Introduction
      • BFS
      • DFS
      • Working with graph components
      • Minimum Spanning Trees
      • Kruskal Algorithm
      • Prims Algorithm
      • Dijkstra’s shortest path algorithm
      • Topological Sort
      • Bellman ford
      • A* pathfinding Algorithm
  • Greedy Algorithms

Advanced concepts apart from interviews

  • Fast IO
  • File handling
  • Bitwise + DP
  • Extended Euclidean algorithm
  • Modulo Multiplicative Inverse
  • Linear Diophantine Equations
  • Matrix Exponentiation
  • Mathematical Expectation
  • Catalan Numbers
  • Fermat’s Theorem
  • Wilson's Theorem
  • Euler's Theorem
  • Lucas Theorem
  • Chinese Remainder Theorem
  • Euler Totient
  • NP-Completeness
  • Multithreading
  • Fenwick Tree / Binary Indexed Tree
  • Square Root Decomposition

Originally posted by @DivSriv in #679 (comment)

This Should be Merged :)

how to get this progress tracker