
Explore tens of thousands of sets crafted by our community.
Algorithmic Problem Patterns
10
Flashcards
0/10
Graph Traversal
Explore a graph either using depth-first search (DFS) or breadth-first search (BFS) to visit nodes.
Sorting Algorithms
Organize data in a certain order using various techniques like quicksort, mergesort, or heapsort.
Search Algorithms
Find an element within a data structure, commonly using linear search or binary search.
Dynamic Programming
Store the results of subproblems to avoid redundant computations, often using a table.
Divide and Conquer
Break the problem down into smaller subproblems of the same type and solve these subproblems recursively.
Backtracking
Explore all potential solutions in a systematic way and backtrack as soon as it becomes clear that a path does not lead to a solution.
String Matching
Find occurrences of a substring within a string using algorithms like Knuth-Morris-Pratt or Rabin-Karp.
Recursion
Solve a problem by expressing its solution in terms of smaller instances of the same problem.
Greedy Algorithms
Build up a solution piece by piece by choosing the best option at each step, without revisiting previous decisions.
Network Flow
Model a system as a network seeking to find the maximum flow from the source to sink, often using Ford-Fulkerson algorithm or Edmonds-Karp algorithm.
© Hypatia.Tech. 2024 All rights reserved.