Skip to content

ayeujjawalsingh/Java-Practice-Codes-And-Notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Complete Java + DSA Syllabus

Syallbus

  • Functions

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

    • 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
  • Pattern questions(Self Practice)

  • Strings

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

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

    • Flow of recursive programs - stack
    • 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

    • 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 - best and easiest approach
    • Complexity discussion of all the problems we do
    • Space Complexity
    • NP-Completeness Introduction
  • Object Oriented Programming

    • 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

    • Singly + Doubly + Circular LinkedList
    • Fast and slow pointer
    • Cycle Detection
    • Reversal of LinkedList
    • Linked List + Recursion
  • Stacks & Queues

    • Push efficient
    • Pop efficient
    • Circular Queue
    • Queue using Stack and Vice versa
    • Interview problems
  • Trees

    • Binary Trees
    • Binary Search Trees
    • DFS
    • BFS
    • AVL Trees
    • Segment Tree
  • Heaps

    • Theory
    • Priority Queue
    • Heapsort
    • Two Heaps Method
    • k-way merge
    • Top k elements
    • Interval problems
  • HashMap

    • Theory - how it works
    • Comparisons of various forms
    • Limitations and how to solve
    • Map using LinkedList
    • Map using Hash
    • Count Sort
    • Radix Sort
    • Chaining
    • Probing
    • Huffman-Encoder
  • Subarray Questions: Sliding window, Two Pointer, Kadane's Algorithm

  • Graphs

    • 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
  • Dynamic Programming

    • Recursion + Recursion DP + Iteration + Iteration Space Optimized
    • Complexity Analysis
    • 0/1 Knapsack
    • Subset Questions
    • Unbounded Knapsack
    • Subsequence questions
    • String DP
  • Greedy Algorithms

  • Tries

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

About

Java Notes & Codes for better understanding and it contains all the funtions with examples and also added Cheat Sheet for Revision...

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages