2️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