Syllabus for DSA : Pratyaksh

Author: pratyakshgupta-cmdCreated Jul 10, 2026Updated Aug 11, 2026
  • 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
    • Searching
      • Linear Search
      • Binary Search
      • Modified Binary Search
      • Binary Search on 2D Arrays
    • Sorting
      • Insertion Sort
      • Selection Sort
      • Bubble Sort
      • Cyclic Sort
      • Count Sort
      • Radix Sort
  • Pattern questions
  • Strings
    • Introduction
    • How Strings work
    • Comparison of methods
    • Operations in Strings
    • StringBuilder in Java
    • StringBuffer
  • Maths for DSA
    • Introduction
    • Complete Bitwise Operators
    • Range of numbers
    • Prime numbers
    • Sieve of Eratosthenes
    • Newton's Square Root Method
    • Factors
    • Modulo properties
    • Number Theory
    • HCF / LCM
    • Euclidean algorithm
    • BigInteger & BigDecimal
  • Recursion
    • Introduction
    • Flow of recursive programs - stacks
    • Why recursion?
    • Tree building of function calls
    • Tail recursion
    • Sorting
      • Merge Sort
      • Quick Sort
    • Backtracking
      • N-Queens
      • N-Knights
      • Sudoku Solver
      • Maze problems
    • Recursion String Problems
    • Recursion Google, Amazon Questions
    • Recursion Array Problems
    • Recursion Pattern Problems
    • Subset Questions
  • Space and Time Complexity Analysis
    • Introduction
    • Comparisons of various cases
    • Solving Linear Recurrence Relations
    • Solving Divide and Conquer Recurrence Relations
    • Big-O, Big-Omega, Big-Theta Notations
    • Little Notations
    • Get equation of any relation easily
    • Complexity discussion of all the problems we do
    • Space Complexity
    • NP-Completeness Introduction
  • Object Oriented Programming
    • Introduction
    • Classes & its instances
    • this keyword in Java
    • Properties
      • Inheritance
      • Abstraction
      • Polymorphism
      • Encapsulation
    • Overloading & Overriding
    • Static & Non-Static
    • Packages
    • Access Control
    • Interfaces
    • Abstract Classes
    • Annotations
    • Singleton Class
    • final, finalize, finally
    • Object Cloning
    • Object Class
    • Generics
    • Exception Handling
    • Collections Framework
    • Vector Class
    • Lambda Expression
    • Enums
  • Linked List
    • Introduction
    • Singly + Doubly + Circular LinkedList
    • Fast and slow pointer
    • Cycle Detection
    • Reversal of LinkedList
    • Linked List + Recursion
  • Stacks & Queues
    • Introduction
    • Push efficient
    • Pop efficient
    • Queue using Stack and vice versa
    • Circular Queue
    • Interview problems
  • File handling
  • Trees
    • Introduction
      • Binary Trees
      • Binary Search Trees
    • Interview questions
      • DFS
      • BFS
    • AVL Trees
    • Segment Tree
    • Fenwick Tree / Binary Indexed Tree
  • Heaps
    • Introduction
      • Theory
      • Priority Queue
      • Heapsort
    • Two Heaps Method
    • k-way merge
    • Top k elements
    • Interval problems
  • HashMap
    • Introduction
      • Theory - how it works
      • Comparisons of various forms
      • Limitations and how to solve
      • Map using LinkedList
      • Map using Hash
      • Chaining
      • Probing
    • Huffman Coding
    • Karp-Rabin String Matching Algorithm
  • Subarray Questions
    • Sliding Window
    • Two Pointer
    • Kadane's Algorithm
  • Graphs
    • Introduction
    • BFS
    • DFS
    • Working with graph components
    • Minimum Spanning Trees
    • Kruskal Algorithm
    • Prim's Algorithm
    • Dijkstra's Shortest Path Algorithm
    • Topological Sort
    • Bellman-Ford
    • A* Pathfinding Algorithm
  • Dynamic Programming
    • Introduction
    • Recursion + Memoization + Iteration + Space Optimization
    • Complexity Analysis
    • 0/1 Knapsack
    • Subset Questions
    • Unbounded Knapsack
    • Subsequence Questions
    • String DP
  • Greedy Algorithms
  • Tries

Advanced Concepts Apart from Interviews

  • 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
  • Square Root Decomposition

Source: kunal-kushwaha/DSA-Bootcamp-Java