- Importance of Data Structures and Algorithms (done)
- Time and Space Complexity Analysis (Asymptotic Notations, Big-O) (done)
- Types of Algorithmic Paradigms
- Divide and Conquer
- Greedy Algorithms
- Dynamic Programming
- Backtracking
- Branch and Bound
- Definition and Types of Arrays (1D, 2D, Multi-dimensional)
- Array Operations: Insertion, Deletion, Access, Update
- Dynamic Arrays (ArrayList in Java, Vectors in C++)
- Definition and Basics of String
- String Operations: Concatenation, Substring, Length, Search, Comparison
- String Algorithms: String Reversal, Palindrome, Anagram Detection, Character Frequency Count, String Matching
- Singly Linked List: Insertion, Deletion, Traversal
- Doubly Linked List: Insertion, Deletion, Traversal
- Circular Linked List
- Applications of Linked Lists (Queue Implementation, Polynomial Representation)
- Definition and Operations: Push, Pop, Peek
- Stack Implementation: STL(Standard Template Library)/Collection Framework, Array-based, Linked List-based
- Applications (Expression Evaluation, Balancing Parentheses, Recursion)
- Definition and Operations: Enqueue, Dequeue, Front, Rear
- Types of Queues: Simple Queue, Circular Queue, Double Ended Queue (Deque)
- Applications (Scheduling, Resource Management)
- Binary Tree: Structure, Operations (Insertion, Deletion, Traversal)
- Binary Search Tree (BST): Insertion, Deletion, Search
- Balanced Trees: AVL Tree, Red-Black Tree
- Heap Trees: Min-Heap, Max-Heap, Heap Operations (Insert, Delete)
- Tree Traversals: Pre-order, In-order, Post-order, Level-order
- Applications (Expression Trees, Decision Trees, Priority Queues)
- Graph Representation: Adjacency Matrix, Adjacency List
- Graph Traversals: Depth-First Search (DFS), Breadth-First Search (BFS)
- Shortest Path Algorithms: Dijkstra’s, Bellman-Ford, Floyd-Warshall
- Minimum Spanning Tree: Prim’s, Kruskal’s Algorithms
- Topological Sort and Cycle Detection
- Applications (Network Routing, Social Networks, GPS Navigation)
- Hashing: Hash Functions, Collision Resolution
- Hash Table: Chaining, Open Addressing (Linear Probing, Quadratic Probing, Double Hashing)
- Applications (Dictionary, Database Indexing)
- Structure and Operations (Insert, Search, Delete)
- Applications (Autocomplete, IP Routing, Dictionary)
- Structure and Operations
- Range Queries and Updates
- Applications (Range Sum Queries, Range Minimum Queries)
- Structure and Operations
- Applications (Prefix Sum Queries)
- Operations: Union, Find
- Applications (Network Connectivity, Kruskal’s Algorithm)
- Basic Sorting: Bubble Sort, Selection Sort, Insertion Sort
- Efficient Sorting: Merge Sort, Quick Sort, Heap Sort
- Linear Sorting: Radix Sort, Counting Sort, Bucket Sort
- Applications (Sorting Large Data, External Sorting)
- Linear Search
- Binary Search
- Interpolation Search
- Exponential Search
- Applications (Finding Elements in Sorted Arrays)
- DFS (Depth-First Search)
- BFS (Breadth-First Search)
- Dijkstra’s Algorithm for Shortest Path
- Bellman-Ford Algorithm
- Floyd-Warshall Algorithm for All-Pairs Shortest Paths
- Prim’s Algorithm and Kruskal’s Algorithm for Minimum Spanning Tree
- Knapsack Problem (0/1 Knapsack, Fractional Knapsack)
- Longest Common Subsequence (LCS)
- Longest Increasing Subsequence (LIS)
- Matrix Chain Multiplication
- Fibonacci Series (Recursive, Iterative, DP)
- Applications (Optimal Substructure, Overlapping Subproblems)
- Activity Selection
- Huffman Encoding
- Fractional Knapsack
- Job Sequencing with Deadlines
- Applications (Optimal Solutions with Local Choices)
- N-Queens Problem
- Sudoku Solver
- Subset Sum Problem
- Hamiltonian Path and Cycle
- Graph Coloring
- Applications (Puzzles, Optimized Search Problems)
- Merge Sort
- Quick Sort
- Strassen’s Matrix Multiplication
- Applications (Divide Large Problems into Simpler Subproblems)
- Basic Bitwise Operations (AND, OR, XOR, NOT, Left/Right Shift)
- Applications (Checking Odd/Even, Counting Set Bits, Bit Masking)
- Fixed Size Window: Max/Min Sum, Subarray Problems
- Variable Size Window: Longest Substring Problems
- Pair Problems (Find Pair with Given Sum, Triplet Sum)
- Sorted Array Problems (Find Specific Elements)
- File Systems
- Databases
- Network Routing Algorithms
- Operating Systems (Memory Management, Process Scheduling)
- Compilers (Syntax Tree, Parsing)
- Web Crawling
- Machine Learning (Data Preprocessing, Decision Trees)
- YouTube Channel:
- Online Platforms:
- GeeksforGeeks
- Javatpoint
- LeetCode