Big-O complexity is arguably the most important concept students learn in a formal computer science degree. This Python course will give you the foundation you need to start your career off on the right foot. After completing this course you'll be comfortable crushing algorithm interview questions and writing performant code.
Overview
Syllabus
- Introduction
- Learn about what algorithms are and why they matter
- Math
- Learn the math required to understand Big-O notation, namely exponents, logarithms, and factorials
- Polynomial Time
- Figure out what polynomial time means in the context of algorithms and performant code
- Sorting Algorithms
- Learn how data is sorted on a computer, and how to sort it faster
- Exponential Time
- Understand why exponential time complexity is so dangerous
- P vs NP
- Learn about P and NP
Taught by
Lane Wagner, Allan, Matt, Hunter, and Dan