-
Notifications
You must be signed in to change notification settings - Fork 13k
Open
Description
📌 Progress Tracker
Complete Git & GitHub Course
- Complete Git & GitHub Course
Introduction to Programming
- Introduction to Programming
- Types of languages
- Memory management
- Flow of the program
- Flowcharts
- Pseudocode
Introduction to Java
- 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
- Functions
- Introduction
- Scoping in Java
- Shadowing
- Variable Length Arguments
- Overloading
Arrays
- 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
- Strings
- Introduction
- How Strings work
- Comparison of methods
- Operations in Strings
- StringBuilder in Java
- StringBuffer
Maths for DSA
- 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
- 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
- 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
- Little Notations
- Get equation of any relation
- Complexity discussion of problems
- Space Complexity
- NP-Completeness Introduction
Object Oriented Programming
- Object Oriented Programming
- Introduction
- Classes & instances
- this keyword
- 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
- Linked List
- Introduction
- Singly + Doubly + Circular
- Fast and slow pointer
- Cycle Detection
- Reversal of LinkedList
- Linked List + Recursion
Stacks & Queues
- Stacks & Queues
- Introduction
- Push efficient
- Pop efficient
- Queue using Stack / Stack using Queue
- Circular Queue
- Interview problems
File handling
- File handling
Trees
- Trees
- Introduction
- Binary Trees
- Binary Search Trees
- Interview questions
- DFS
- BFS
- AVL Trees
- Segment Tree
- Fenwick Tree / BIT
Heaps
- Heaps
- Introduction
- Theory
- Priority Queue
- Heapsort
- Two Heaps Method
- k-way merge
- Top k elements
- Interval problems
HashMap
- HashMap
- Introduction
- Theory & comparisons
- Limitations
- Chaining
- Probing
- Huffman Coding
- Karp-Rabin String Matching
- Subarray Problems (Sliding Window, Two Pointer, Kadane)
Graphs
- Graphs
- Introduction
- BFS
- DFS
- Components
- MST
- Kruskal
- Prims
- Dijkstra
- Topological Sort
- Bellman Ford
- A* Pathfinding
Dynamic Programming
- Dynamic Programming
- Introduction
- Recursion → DP → Iteration → Space optimized
- 0/1 Knapsack
- Subset Problems
- Unbounded Knapsack
- Subsequence Problems
- String DP
Greedy Algorithms
- Greedy Algorithms
Tries
- Tries
Advanced Concepts
- Advanced Concepts
- 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
- Multithreading
Square Root Decomposition
- Square Root Decomposition
Metadata
Metadata
Assignees
Labels
No labels