Skip to content

Latest commit

 

History

History
98 lines (84 loc) · 2.12 KB

algorithm_study_guide.md

File metadata and controls

98 lines (84 loc) · 2.12 KB

Algorithm Study Guide and Practice Checklist

Sorting Algorithms

  • Quick Sort
  • Merge Sort
  • Heap Sort
  • Bubble Sort
  • Insertion Sort
  • Selection Sort

Searching Algorithms

  • Binary Search
  • Depth-First Search (DFS)
  • Breadth-First Search (BFS)

Graph Algorithms

  • Dijkstra’s Algorithm
  • A* Search Algorithm
  • Kruskal’s Algorithm
  • Prim’s Algorithm
  • Bellman-Ford Algorithm

Dynamic Programming

  • Fibonacci Sequence
  • Knapsack Problem
  • Longest Common Subsequence
  • Longest Increasing Subsequence
  • Coin Change Problem
  • Edit Distance

Greedy Algorithms

  • Activity Selection Problem
  • Huffman Coding
  • Prim's Algorithm (as Greedy)
  • Kruskal's Algorithm (as Greedy)
  • Dijkstra’s Algorithm (as Greedy)

Backtracking Algorithms

  • N-Queens Problem
  • Sudoku Solver
  • Subset Sum Problem
  • Permutations and Combinations

String Algorithms

  • Knuth-Morris-Pratt (KMP) Algorithm
  • Rabin-Karp Algorithm
  • Longest Common Substring
  • Longest Palindromic Substring
  • Trie Data Structure

Tree and Binary Tree Algorithms

  • Inorder Traversal
  • Preorder Traversal
  • Postorder Traversal
  • Binary Search Tree (BST) Operations
  • AVL Tree
  • Red-Black Tree
  • Segment Tree
  • Fenwick Tree (Binary Indexed Tree)

Mathematical Algorithms

  • Greatest Common Divisor (GCD)
  • Sieve of Eratosthenes
  • Fast Exponentiation
  • Prime Factorization
  • Euclidean Algorithm

Advanced Data Structures

  • Heap
  • Trie
  • Segment Tree
  • Fenwick Tree (Binary Indexed Tree)
  • Disjoint Set (Union-Find)
  • Hash Table

Practice Resources

  • LeetCode
  • HackerRank
  • GeeksforGeeks
  • CodeSignal

Study Tips

  • Practice problems regularly
  • Understand the theory behind each algorithm
  • Implement algorithms from scratch
  • Review and debug your solutions
  • Time yourself during practice sessions

study

  • Array
  • Strings
  • hash tables
  • search
  • Sorting
  • Recursion
  • Stacks
  • problem solving