Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rajatgupta24/java-codes
https://github.com/rajatgupta24/java-codes
algorithm cpp data-structures golang java leetcode
Last synced: 9 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/rajatgupta24/java-codes
- Owner: rajatgupta24
- Created: 2021-03-09T05:21:07.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2022-01-06T08:36:53.000Z (about 3 years ago)
- Last Synced: 2024-11-21T19:54:50.203Z (2 months ago)
- Topics: algorithm, cpp, data-structures, golang, java, leetcode
- Language: Java
- Homepage:
- Size: 31.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Complete Java + DSA Bootcamp Syllabus
## Lectures
- [Complete Git & GitHub Course](https://youtu.be/apGV9Kg7ics)
- [Introduction to Programming](https://youtu.be/wn49bJOYAZM)
- [Types of languages](https://youtu.be/wn49bJOYAZM?t=171)
- [Memory management](https://youtu.be/wn49bJOYAZM?t=1488)
- [Flow of the program](https://youtu.be/lhELGQAV4gg)
- [Flowcharts](https://youtu.be/lhELGQAV4gg)
- [Pseudocode](https://youtu.be/lhELGQAV4gg?t=715)
- [Introduction to Java](https://youtu.be/4EP8YzcN0hQ)
- [Introduction](https://youtu.be/4EP8YzcN0hQ)
- [How it works](https://youtu.be/4EP8YzcN0hQ?t=93)
- [Setup Installation](https://youtu.be/4EP8YzcN0hQ?t=1486)
- [Input and Output in Java](https://youtu.be/TAtrPoaJ7gc)
- [Conditionals & Loops in Java](https://youtu.be/ldYLYRNaucM?t=88)
- [if-else](https://youtu.be/ldYLYRNaucM?t=88)
- [loops](https://youtu.be/ldYLYRNaucM?t=440)
- [Switch statements](https://youtu.be/mA23x39DjbI)
- [Data-types](https://youtu.be/TAtrPoaJ7gc?t=2800)
- [Coding best practices](https://youtu.be/waGfV-IoOt8)
- [Functions](https://youtu.be/vvanI8NRlSI)
- [Introduction](https://youtu.be/vvanI8NRlSI)
- [Scoping in Java](https://youtu.be/vvanI8NRlSI?t=2801)
- [Shadowing](https://youtu.be/vvanI8NRlSI?t=3584)
- [Variable Length Arguments](https://youtu.be/vvanI8NRlSI?t=4013)
- [Overloading](https://youtu.be/vvanI8NRlSI?t=4327)
- [Arrays](https://youtu.be/n60Dn0UsbEk)
- [Introduction](https://youtu.be/n60Dn0UsbEk)
- [Memory management](https://youtu.be/n60Dn0UsbEk?t=632)
- [Input and Output](https://youtu.be/n60Dn0UsbEk?t=1675)
- [ArrayList Introduction](https://youtu.be/n60Dn0UsbEk?t=4868)
- Searching
- [Linear Search](https://youtu.be/_HRA37X8N_Q)
- [Binary Search](https://youtu.be/f6UU7V3szVw)
- [Modified Binary Search](https://youtu.be/f6UU7V3szVw?t=2508)
- Binary Search on 2D Arrays
- Sorting
- [Insertion Sort](https://youtu.be/By_5-RRqVeE)
- [Selection Sort](https://youtu.be/Nd4SCCIHFWk)
- [Bubble Sort](https://youtu.be/F5MZyqRp_IM)
- Count Sort
- Radix Sort
- [Cyclic Sort](https://youtu.be/JfinxytTYFQ)
- Sliding window
- Two Pointer
- Subarray Questions
- 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
- Advanced Concepts for CP (later in the course)
- Bitwise + DP
- Extended Euclidean algorithm
- Modulo Properties
- Modulo Multiplicative Inverse
- Linear Diophantine Equations
- Fermat’s Theorem
- Wilson's Theorem
- Lucas Theorem
- Chinese Remainder Theorem
- 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
- Backtracking
- Sudoku Solver
- N-Queens
- N-Knights
- Maze problems
- Recursion String Problems
- 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
- 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
- Object Oriented Programming
- Introduction
- Classes & its instances
- this keyword in Java
- Properties
- Inheritance
- Abstraction
- Polymorphism
- Encapsulation
- Overloading & Overriding
- Static & Non-Static
- Access Control
- Interfaces
- Abstract Classes
- Singleton Class
- final, finalize, finally
- Object Class
- Generics
- Exception Handling
- Collections Framework
- Lambda Expression
- Enums
- Fast IO
- File handling
- Greedy Algorithms
- Stacks & Queues
- Introduction
- Interview problems
- Push efficient
- Pop efficient
- Queue using Stack and Vice versa
- Circular Queue
- Linked List
- Introduction
- Fast and slow pointer
- Cycle Detection
- Single and Doubly LinkedList
- Reversal of LinkedList
- Dynamic Programming
- Introduction
- Recursion + Recursion DP + Iteration + Iteration Space Optimized
- Complexity Analysis
- 0/1 Knapsack
- Subset Questions
- Unbounded Knapsack
- Subsequence questions
- String DP
- Trees
- Introduction
- Binary Trees
- Binary Search Trees
- DFS
- BFS
- AVL Trees
- Segment Tree
- Fenwick Tree / Binary Indexed Tree
- Square Root Decomposition
- 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-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