DSA Problems
DSA Problems
Algorithms:
1. Sorting and Searching:
○ Implement sorting algorithms (quick sort, merge sort, bubble sort, etc.).
○ Binary search and its applications.
○ Search in a 2D matrix.
○ Find the kth largest/smallest element.
2. Dynamic Programming:
○ Longest Increasing Subsequence (LIS).
○ Longest Common Subsequence (LCS).
○ 0/1 Knapsack Problem.
○ Coin Change Problem.
○ Minimum Edit Distance.
○ Maximum Product Subarray.
3. Greedy Algorithms:
○ Activity Selection Problem.
○ Fractional Knapsack Problem.
○ Job Sequencing Problem.
○ Huffman Coding.
4. Backtracking:
○ N-Queens Problem.
○ Rat in a Maze Problem.
○ Sudoku Solver.
○ Subset Sum Problem.
○ Generate all permutations/combinations.
5. Bit Manipulation:
○ Count the number of set bits in an integer.
○ Check if a number is a power of two.
○ Find the single non-repeating element in an array of duplicates.
○ Swap two numbers without using a temporary variable.
Additional Topics:
1. Mathematical Algorithms:
○ Prime number algorithms (Sieve of Eratosthenes).
○ GCD and LCM.
○ Fibonacci numbers.
○ Factorial of a large number.
2. String Algorithms:
○ KMP algorithm for pattern searching.
○ Rabin-Karp algorithm.
○ Longest Palindromic Substring.
○ String matching algorithms.
3. Miscellaneous:
○ Design and implementation of LRU Cache.
○ Implementing algorithms for common system design problems.
○ Understanding and solving problems using recursion.