DSA-Bootcamp-Java
DSA-Bootcamp-Java copied to clipboard
PROGRESS TRACKER
- [ ] - 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 - best and easiest approach
- [ ] - 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
- [x] - 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 Strng matching algorithm
- [ ] - Subarray Questions: Sliding window, Two Pointer, Kadane's Algorithm
- [ ] - 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
- [ ] - Dynamic Programming
- [ ] - Introduction
- [ ] - 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
- [ ] - 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