Open hashshan opened 1 year ago
DSA****###
Complete Git & GitHub Course
/
Introduction to Java
[x] 1. Introduction
[x] 2. How it works
[x] 3. Setup Installation
[x] 4. Input and Output in Java
[x] 5. Conditionals & Loops in Java
[x] 6. if else
[x] 7. loops
[x] 8. Switch statements
[ ] 9. Data types
[ ] 10. Coding best practices
Functions
[ ] 1. Introduction
[ ] 2. Scoping in Java
[ ] 3. Shadowing
[ ] 4. Variable Length Arguments
[ ] 5. Overloading
[ ]
Arrays
[ ] 2. Memory management
[ ] 3. Input and Output
[ ] 4. ArrayList Introduction
[ ] 5. Sorting
[ ] 6. Insertion Sort
[ ] 7. Selection Sort
[ ] 8. Bubble Sort
[ ] 9. Cyclic Sort (Merge sort etc after recursion)
[ ] 10. Searching
[ ] 11. Linear Search
[ ] 12. Binary Search
[ ] 13. Modified Binary Search
[ ] 14. Binary Search Interview questions
[ ] 15. Binary Search on 2D Arrays
[ ] 16. Pattern questions
Strings
[ ] 2. How Strings work
[ ] 3. Comparison of methods
[ ] 4. Operations in Strings
[ ] 5. StringBuilder in java
[ ] 6. Maths for DSA
[ ] 7. Introduction
[ ] 8. Complete Bitwise Operators
[ ] 9. Prime numbers
[ ] 10. HCF / LCM
[ ] 11. Sieve of Eratosthenes
[ ] 12. Newton's Square Root Method
[ ] 13. Number Theory
[ ] 14. Euclidean algorithm
Space and Time Complexity Analysis
[ ] 2. Comparion of various cases
[ ] 3. Solving Linear Recurrence Relations
[ ] 4. Solving Divide and Conquer Recurrence Relations
[ ] 5. Big-O, Big-Omega, Big-Theta Notations
[ ] 6. Get equation of any relation easily - best and easiest approach
[ ] 7. Complexity discussion of all the problems we do
[ ] 8. Space Complexity
[ ] 9. Memory Allocation of various languages
[ ] 10. NP Completeness and Hardness
Recursion
[ ] 2. Why recursion?
[ ] 3. Flow of recursive programs - stacks
[ ] 4. Convert recursion to iteration
[ ] 5. Tree building of function calls
[ ] 6. Tail recursion
[ ] 7. Sorting:
[ ] 8. Merge Sort
[ ] 9. Quick Sort
[ ] 10. Backtracking
[ ] 11. Sudoku Solver
[ ] 12. N-Queens
[ ] 13. N-Knights
[ ] 14. Maze problems
[ ] 15. Recursion String Problems
[ ] 16. Recursion Array Problems
[ ] 17. Recursion Pattern Problems
[ ] 18. Subset Questions
[ ] 19. Recursion - Permutations, Dice Throws etc Questions
Object Oriented Programming
[ ] 2. Classes & its instances
[ ] 3. this keyword in Java
[ ] 4. Properties
[ ] 5. Inheritance
[ ] 6. Abstraction
[ ] 7. Polymorphism
[ ] 8. Encapsulation
[ ] 9. Overloading & Overriding
[ ] 10. Static & Non-Static
[ ] 11. Access Control
[ ] 12. Interfaces
[ ] 13. Abstract Classes
[ ] 14. Singleton Class
[ ] 15. final, finalize, finally
[ ] 16. Exception Handling
Linked List
[ ] 2. Singly and Doubly Linked List
[ ] 3. Circular Linked List
[ ] 4. Fast and slow pointer
[ ] 5. Cycle Detection
[ ] 6. Reversing of LinekdList
[ ] 7. Linked List Interview questions
Stacks & Queues
Dynamic Programming
[ ] 2. Recursion + Recursion DP + Iteration + Iteration Space Optimized
[ ] 3. Complexity Analysis
[ ] 4. 0/1 Knapsack
[ ] 5. Subset Questions
[ ] 6. Unbounded Knapsack
[ ] 7. Subseq questions
[ ] 8. String DP
Trees
[ ] 2. Binary Trees
[ ] 3. Binary Search Trees
[ ] 4. DFS
[ ] 5. BFS
[ ] 6. AVL Trees
[ ] 7. Segment Tree
[ ] 8. Fenwick Tree / Binary Indexed Tree
Heaps
[ ] 2. Theory
[ ] 3. Priority Queue
[ ] 4. Two Heaps Method
[ ] 5. k-way merge
[ ] 6. top k elements
[ ] 7. interval problems
Hashmaps
[ ] 2. Theory - how it works
[ ] 3. Comparisons of various forms
[ ] 4. Limitations and how to solve
[ ] 5. Map using LinkedList
[ ] 6. Map using Hash
[ ] 7. Chaining
[ ] 8. Probing
[ ] 9. Huffman-Encoder
[ ] 10. Tries
Graphs
[ ] 2. BFS
[ ] 3. DFS
[ ] 4. Working with graph components
[ ] 5. Minimum Spanning Trees
[ ] 6. Kruskal Algorithm
[ ] 7. Prims Algorithm
[ ] 8. Dijkstra’s shortest path algorithm
[ ] 9. Topological Sort
[ ] 10. Bellman ford
[ ] 11. A* pathfinding Algorithm
[ ] 12. Greedy Algorithms
Advanced concepts apart from interviews
-[ ] 1. Fast IO
Complete Git & GitHub Course
/
Introduction to Java
[x] 1. Introduction
[x] 2. How it works
[x] 3. Setup Installation
[x] 4. Input and Output in Java
[x] 5. Conditionals & Loops in Java
[x] 6. if else
[x] 7. loops
[x] 8. Switch statements
[ ] 9. Data types
[ ] 10. Coding best practices
Functions
[ ] 1. Introduction
[ ] 2. Scoping in Java
[ ] 3. Shadowing
[ ] 4. Variable Length Arguments
[ ] 5. Overloading
[ ]
Arrays
[ ] 1. Introduction
[ ] 2. Memory management
[ ] 3. Input and Output
[ ] 4. ArrayList Introduction
[ ] 5. Sorting
[ ] 6. Insertion Sort
[ ] 7. Selection Sort
[ ] 8. Bubble Sort
[ ] 9. Cyclic Sort (Merge sort etc after recursion)
[ ] 10. Searching
[ ] 11. Linear Search
[ ] 12. Binary Search
[ ] 13. Modified Binary Search
[ ] 14. Binary Search Interview questions
[ ] 15. Binary Search on 2D Arrays
[ ] 16. Pattern questions
Strings
[ ] 1. Introduction
[ ] 2. How Strings work
[ ] 3. Comparison of methods
[ ] 4. Operations in Strings
[ ] 5. StringBuilder in java
[ ] 6. Maths for DSA
[ ] 7. Introduction
[ ] 8. Complete Bitwise Operators
[ ] 9. Prime numbers
[ ] 10. HCF / LCM
[ ] 11. Sieve of Eratosthenes
[ ] 12. Newton's Square Root Method
[ ] 13. Number Theory
[ ] 14. Euclidean algorithm
Space and Time Complexity Analysis
[ ] 1. Introduction
[ ] 2. Comparion of various cases
[ ] 3. Solving Linear Recurrence Relations
[ ] 4. Solving Divide and Conquer Recurrence Relations
[ ] 5. Big-O, Big-Omega, Big-Theta Notations
[ ] 6. Get equation of any relation easily - best and easiest approach
[ ] 7. Complexity discussion of all the problems we do
[ ] 8. Space Complexity
[ ] 9. Memory Allocation of various languages
[ ] 10. NP Completeness and Hardness
Recursion
[ ] 1. Introduction
[ ] 2. Why recursion?
[ ] 3. Flow of recursive programs - stacks
[ ] 4. Convert recursion to iteration
[ ] 5. Tree building of function calls
[ ] 6. Tail recursion
[ ] 7. Sorting:
[ ] 8. Merge Sort
[ ] 9. Quick Sort
[ ] 10. Backtracking
[ ] 11. Sudoku Solver
[ ] 12. N-Queens
[ ] 13. N-Knights
[ ] 14. Maze problems
[ ] 15. Recursion String Problems
[ ] 16. Recursion Array Problems
[ ] 17. Recursion Pattern Problems
[ ] 18. Subset Questions
[ ] 19. Recursion - Permutations, Dice Throws etc Questions
Object Oriented Programming
[ ] 1. Introduction
[ ] 2. Classes & its instances
[ ] 3. this keyword in Java
[ ] 4. Properties
[ ] 5. Inheritance
[ ] 6. Abstraction
[ ] 7. Polymorphism
[ ] 8. Encapsulation
[ ] 9. Overloading & Overriding
[ ] 10. Static & Non-Static
[ ] 11. Access Control
[ ] 12. Interfaces
[ ] 13. Abstract Classes
[ ] 14. Singleton Class
[ ] 15. final, finalize, finally
[ ] 16. Exception Handling
Linked List
[ ] 1. Introduction
[ ] 2. Singly and Doubly Linked List
[ ] 3. Circular Linked List
[ ] 4. Fast and slow pointer
[ ] 5. Cycle Detection
[ ] 6. Reversing of LinekdList
[ ] 7. Linked List Interview questions
Stacks & Queues
Dynamic Programming
[ ] 1. Introduction
[ ] 2. Recursion + Recursion DP + Iteration + Iteration Space Optimized
[ ] 3. Complexity Analysis
[ ] 4. 0/1 Knapsack
[ ] 5. Subset Questions
[ ] 6. Unbounded Knapsack
[ ] 7. Subseq questions
[ ] 8. String DP
Trees
[ ] 1. Introduction
[ ] 2. Binary Trees
[ ] 3. Binary Search Trees
[ ] 4. DFS
[ ] 5. BFS
[ ] 6. AVL Trees
[ ] 7. Segment Tree
[ ] 8. Fenwick Tree / Binary Indexed Tree
Heaps
[ ]
[ ] 1. Introduction
[ ] 2. Theory
[ ] 3. Priority Queue
[ ] 4. Two Heaps Method
[ ] 5. k-way merge
[ ] 6. top k elements
[ ] 7. interval problems
Hashmaps
[ ] 1. Introduction
[ ] 2. Theory - how it works
[ ] 3. Comparisons of various forms
[ ] 4. Limitations and how to solve
[ ] 5. Map using LinkedList
[ ] 6. Map using Hash
[ ] 7. Chaining
[ ] 8. Probing
[ ] 9. Huffman-Encoder
[ ] 10. Tries
Graphs
[ ] 1. Introduction
[ ] 2. BFS
[ ] 3. DFS
[ ] 4. Working with graph components
[ ] 5. Minimum Spanning Trees
[ ] 6. Kruskal Algorithm
[ ] 7. Prims Algorithm
[ ] 8. Dijkstra’s shortest path algorithm
[ ] 9. Topological Sort
[ ] 10. Bellman ford
[ ] 11. A* pathfinding Algorithm
[ ] 12. Greedy Algorithms
[ ]
Advanced concepts apart from interviews
-[ ] 1. Fast IO