This repository contains resources, and important questions for core DSA concepts and fundamental Java programming each topics.
- Flowcharts & Pseudocodes
- Variables & Data Types
- Conditional Statements
- Operators
- For loop, While loop, Do-while loop
- Patterns
- Functions
- Introduction to Arrays
- Searching & Sorting
- Linear search
- Binary search
- Selection sort
- Bubble sort
- Insertion sort
- Count sort
- 2D Arrays
- Strings
- Binary number system
- Bitwise operators
- Bit operations
- Fast exponentiation
- Objects & Classes
- Constructors and related concepts
- Abstraction, Encapsulation
- Inheritance, Polymorphism
- Abstract classes
- Interfaces
- Basics of Recursion
- Recursive problems
- Factorial
- Fibonacci
- Power of a number
- Tower of Hanoi
- Introduction to Divide and Conquer
- Merge Sort
- Quick Sort
- Big O Notation
- Analyzing algorithms
- Common complexities
- Space complexity
- Backtracking
- N-Queens Problem
- Sudoku Solver
- ArrayLists
- Linked lists
- Insertion and deletion operations
- Midpoint of linked list
- Merging sorted linked lists
- Reversing a linked list
- Stacks and Queues
- Stack using arrays and linked list
- Queue using arrays
- Dynamic queue class
- Circular queue
- Binary Trees & BST
- Introduction to Binary Trees
- Tree traversals
- Height and LCA of tree
- Binary Search Trees
- Insertion and deletion in BST
- Types of balanced BSTs
- Heaps/Priority Queues
- Min/Max heaps
- Heap Sort
- Priority Queues implementation
- Insert and Delete operations
- Hashing (Maps & Sets)
- Hashmaps
- Hashsets
- Implementation details
- Tries
- Basic operations and implementation
- Graphs
- Introduction and terminology
- Graph traversals (DFS and BFS)
- Weighted and directed graphs
- Minimum Spanning Trees
- Cycle Detection
- Dijkstra's algorithm
- Bellman Ford Algorithm
- Segment Trees
- Creation and range queries
- Fundamentals of DP
- Memoization
- Knapsack, Factorial, Fibonacci using DP
- Longest Common Subsequence
- Edit distance
- Matrix Chain Multiplication
- Books
- Online courses
- Practice websites like LeetCode and Codeforces
- Community forums
Feel free to contribute to this repository by adding implementations, improving existing code, or suggesting additional topics.