So far in our Algorithm Complexity course, we have learned two types of complexity of algorithms.

In this mission, we will explore a new time of complexity: the logarithmic time complexity. These algorithms are much faster than linear time algorithms but are not constant time algorithms. Their complexity lies between constant time complexity and linear time complexity.

We'll also explore the binary search algorithm in theory, and then you'll be challenged to apply it in practice, writing your own Python code in our interactive code editor.

You'll work with data from Netflix as you learn to quickly look up and sort specific titles.

Objectives

  • About logarithms and logarithmic complexity.
  • The binary search algorithm to very quickly find elements in sorted lists.

Mission Outline

1. Complexity Zoo
2. Finding an Element in a List
3. Excluding Index Ranges
4. Binary Search
5. Binary Search Algorithm
6. Binary Search Analysis
7. Logarithmic Complexity
8. Binary Search in Practice
9. Next steps
10. Takeaways