DSA-Bootcamp-Java
DSA-Bootcamp-Java copied to clipboard
DSA-Bootcamp - Progress Tracker
# Progress Tracker
DSA
- [ ] Complete Git & GitHub Course
- [x] Introduction to Programming
-
- [x] Types of languages
-
- [x] Memory management
-
- [x] Flow of the program
-
- [x] Flowcharts
-
- [x] 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
-
- [ ] Sorting
-
- [ ] Insertion Sort
-
- [ ] Selection Sort
-
- [ ] Bubble Sort
-
- [ ] Cyclic Sort (Merge sort etc after recursion)
- [ ] Searching
-
- [x] Linear Search
-
- [x] Binary Search
-
- [ ] Modified Binary Search
-
- [ ] Binary Search Interview questions
-
- [ ] Binary Search on 2D Arrays
-
-
- [ ] Pattern questions
- [ ] Strings
- [ ] Introduction
- [ ] How Strings work
- [ ] Comparison of methods
- [ ] Operations in Strings
- [ ] StringBuilder in java
- [ ] Maths for DSA
-
- [ ] Introduction
-
- [ ] Complete Bitwise Operators
-
- [ ] Prime numbers
-
- [ ] HCF / LCM
-
- [ ] Sieve of Eratosthenes
-
- [ ] Newton's Square Root Method
-
- [ ] Number Theory
-
- [ ] Euclidean algorithm
-
- [ ] Space and Time Complexity Analysis
-
- [ ] Introduction
-
- [ ] Comparion of various cases
-
- [ ] Solving Linear Recurrence Relations
-
- [ ] Solving Divide and Conquer Recurrence Relations
-
- [ ] Big-O, Big-Omega, Big-Theta Notations
-
- [ ] Get equation of any relation easily - best and easiest approach
-
- [ ] Complexity discussion of all the problems we do
-
- [ ] Space Complexity
-
- [ ] Memory Allocation of various languages
-
- [ ] NP Completeness and Hardness
-
- [ ] Recursion
-
- [ ] Introduction
-
- [ ] Why recursion?
-
- [ ] Flow of recursive programs - stacks
-
- [ ] Convert recursion to iteration
-
- [ ] Tree building of function calls
-
- [ ] Tail recursion
-
- [ ] Sorting:
-
- [ ] Merge Sort
-
- [ ] Quick Sort
-
- [ ] Sorting:
-
- [ ] Backtracking
-
- [ ] Sudoku Solver
-
- [ ] N-Queens
-
- [ ] N-Knights
-
- [ ] Maze problems
-
- [ ] Backtracking
-
- [ ] Recursion String Problems
-
- [ ] Recursion Array Problems
-
- [ ] Recursion Pattern Problems
-
- [ ] Subset Questions
-
- [ ] Recursion - Permutations, Dice Throws etc Questions
-
- [ ] Object Oriented Programming
-
- [ ] Introduction
-
- [ ] Classes & its instances
-
- [ ] this keyword in Java
-
- [ ] Properties
-
- [ ] Inheritance
-
- [ ] Abstraction
-
- [ ] Polymorphism
-
- [ ] Encapsulation
-
- [ ] Properties
-
- [ ] Overloading & Overriding
-
- [ ] Static & Non-Static
-
- [ ] Access Control
-
- [ ] Interfaces
-
- [ ] Abstract Classes
-
- [ ] Singleton Class
-
- [ ] final, finalize, finally
-
- [ ] Exception Handling
-
- [ ] Linked List
-
- [ ] Introduction
-
- [ ] Singly and Doubly Linked List
-
- [ ] Circular Linked List
-
- [ ] Fast and slow pointer
-
- [ ] Cycle Detection
-
- [ ] Reversing of LinekdList
-
- [ ] Linked List Interview questions
-
- [ ] Stacks & Queues
-
- [ ] Introduction
-
- [ ] Interview problems
-
- [ ] Push efficient
-
- [ ] Pop efficient
-
- [ ] Queue using Stack and Vice versa
-
- [ ] Circular Queue
-
- [ ] Dynamic Programming
-
- [ ] Introduction
-
- [ ] Recursion + Recursion DP + Iteration + Iteration Space Optimized
-
- [ ] Complexity Analysis
-
- [ ] 0/1 Knapsack
-
- [ ] Subset Questions
-
- [ ] Unbounded Knapsack
-
- [ ] Subseq questions
-
- [ ] String DP
-
- [ ] Trees
-
- [ ] Introduction
-
- [ ] Binary Trees
-
- [ ] Binary Search Trees
-
- [ ] DFS
-
- [ ] BFS
-
- [ ] AVL Trees
-
- [ ] Segment Tree
-
- [ ] Fenwick Tree / Binary Indexed Tree
-
- [ ] Heaps
-
- [ ] Introduction
-
- [ ] Theory
-
- [ ] Priority Queue
-
- [ ] Two Heaps Method
-
- [ ] k-way merge
-
- [ ] top k elements
-
- [ ] interval problems
-
- [ ] Hashmaps
-
- [ ] Introduction
-
- [ ] Theory - how it works
-
- [ ] Comparisons of various forms
-
- [ ] Limitations and how to solve
-
- [ ] Map using LinkedList
-
- [ ] Map using Hash
-
- [ ] Chaining
-
- [ ] Probing
-
- [ ] Huffman-Encoder
-
- [ ] Tries
- [ ] 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
-
- [ ] Greedy Algorithms
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
Originally posted by @DivSriv in https://github.com/kunal-kushwaha/DSA-Bootcamp-Java/issues/679#issuecomment-1159684931
👍
how can i use this to track my progress?
@AJ0070 , I think you should "fork this repository" into a new repo under your GitHub user profile. Then keep on updating your own copy of README file under lectures directory. For your own reference.
Not obligatory to push the changes to this main repo.
Other colleagues, please correct my understanding if I may have erred on or missed something relevant.
where is the code which i can copy?
@rishiraj88 Yeah, you're correct... Everyone can refer this issue: Progress Tracker
which code do i need to copy to my forked repos readme file??