Login    |    Articles    About    Contact

Qvault Logo - Learn Computer Science

Companies need engineers that make their codebases more performant not less. Learn to write faster code.

Big O Algorithms Min

Big-O Algorithms is perfect for engineers who need a refresher on computer science basics, want to learn how to speed up their programs, or never went through a formal course at all. The study of algorithmic complexity is often overlooked in developer boot camps, but not at Qvault. It’s impossible to become a senior developer without being familiar with the concepts in this course, so get started!

undraw proud coder 7ain

Code in the browser

We don't expect you to bring anything to class. We teach concepts in bite-sized chunks and all your code is written and edited right in your browser.

undraw wallet

Earn free courses

Don't stop! We have plenty of computer science courses on Qvault, and as you unlock achievements by doing assignments, we'll reward you with free content.

undraw speed test wxl0

Instant feedback

No need to upload zip files or guess at whether your code is performing correctly. All your programs instantly run against our test suites to keep you moving quickly.

Why Learn Algorithms?

Senior developers need to have an understanding of algorithmic complexity in order to be proficient in developing fast applications. Many new developers, especially those without formal training, never had the chance to learn these computer science basics.

This course begins with an overview of Big-O analysis, complexity classes, and the math required to complete the course. Next, we code some of the most common sorting algorithms right in the browser and determine their Big-O complexity. Finally we dive into the basics of complexity theory – polynomial vs nondeterministic polynomial time.

The majority of Big-O Algorithms consists of multi-choice style questions accompanied by explanatory excerpts, though there are many hands-on coding exercises as well. The coding projects in this course are all written in Go, a language becoming more and more important for backend systems engineers. If you are new to Go, take the Go Mastery course first.

Content Overview

1. Big O

  • Intro to algorithms and definitions
  • Math review – exponents and logarithms
  • Big-O introduction
  • Big-O classes and growth rates
  • Factorials
  • Reducing Big-O formulas

2. Sorting

  • Bubble sort
  • Merge sort
  • Quick sort
  • Big-O analysis of sorting algorithms
  • Benefits of sorting algorithms

3. P vs NP

  • Polynomial-time
  • Non-deterministic polynomial time
  • Travelling Salesman Problem
  • NP-Complete
  • NP-Hard
  • P = NP
  • Factoring