Algorithms are at the center of almost any programming job — particularly in the world of data engineering, where this is a recurring topic in job interviews. In this course, you’ll learn how to assess and model the time and space complexity of algorithms (i.e., how fast they’ll be, how much memory they’ll require), and you’ll learn how to trade memory for speed.
Best of all, you’ll learn by doing — you’ll practice and get feedback directly in the browser. At the end of the course, you’ll put together what you’ve learned in a guided project that tasks you with building indices for a CSV using dictionaries.
- Analyzing the time complexity of an algorithm
- Analyzing the space complexity of an algorithm
- Designing algorithms that are optimized to your use-case
Introduction to Algorithms [6 lessons]
Time Complexity of Algorithms 2hLesson Objectives
- Measure the execution time of an algorithm
- Generate random inputs for an algorithm
- Model the execution time of an algorithm
Constant Time Complexity 2hLesson Objectives
- Identify constant time operations
- Identify how computers manage memory
- Refine computing time complexity models
- Identify hidden function calls in Python.
- Identify how lists and strings are stored in memory
Logarithmic Time Complexity 1hLesson Objectives
- Explain logarithms and logarithmic complexity
- Apply the binary search algorithm to find elements in sorted lists
Sorting Algorithms 1hLesson Objectives
- Apply a sorting algorithm
- Identify the time complexity of sorting in Python
Space Complexity 2hLesson Objectives
- Evaluate the space complexity of an algorithm
- Define the relation between time and space
Guided Project: Building Fast Queries on a CSV 2hLesson Objectives
- Build indexes for a CSV using dictionaries
Projects in this course
Guided Project: Building Fast Queries on a CSV
Apply what you have learned to implement an inventory system for a laptop store with efficient queries.
The Dataquest guarantee
Dataquest has helped thousands of people start new careers in data. If you put in the work and follow our path, you’ll master data skills and grow your career.
We believe so strongly in our paths that we offer a full satisfaction guarantee. If you complete a career path on Dataquest and aren’t satisfied with your outcome, we’ll give you a refund.
Master skills faster with Dataquest
Go from zero to job-ready
Learn exactly what you need to achieve your goal. Don’t waste time on unrelated lessons.
Build your project portfolio
Build confidence with our in-depth projects, and show off your data skills.
Challenge yourself with exercises
Work with real data from day one with interactive lessons and hands-on exercises.
Showcase your path certification
Impress employers by completing a capstone project and certifying it with an expert review.