MIT 6.006
Asymptotic analysis: Understanding the running time of algorithms and their growth rates as the input size increases.
Divide and conquer: Using recursion and subproblem decomposition to solve complex problems.
Sorting and searching: Understanding the efficiency and implementation of various sorting and searching algorithms, such as quicksort, mergesort, binary search, and more.
Graph algorithms: Applying algorithms to graphs, including traversal, shortest paths, and minimum spanning trees.
Dynamic programming: Solving optimization problems by breaking them down into smaller subproblems and using memoization to avoid redundant computations.
Greedy algorithms: Making locally optimal choices in hopes of achieving a global optimum.
Last updated
Was this helpful?