## 2.2 Introduction to Algorithms

Learn how to make a computer do what you want, elegantly and efficiently.

Pseudocode

Conditional Algorithms

Conditional Algorithm Puzzles

Repetition

Manipulating Numbers

Puzzles with Inputs

Arrays

Repetition and Arrays

Searching an Array

Binary Search

Compare and Swap

Sorting an Array

Insertion Sort

Timing Programs

Counting Operations

Best and Worst Case

Average Case

Comparing Algorithms

Understanding Big O

The Mathematics of Big O

The Stable Matching Problem

Using Greediness

Deferred Acceptance Algorithm

Correctness

Termination

Running Time

Variants

### Course description

An algorithm is a step-by-step process to achieve some outcome. When algorithms involve a large amount of input data, complex manipulation, or both, we need to construct clever algorithms that a computer can work through quickly. By the end of this course, you’ll have mastered the fundamental problems in algorithms.

### Topics covered

- Pseudocode
- Variables
- Conditionals
- Repetition
- While loops
- For loops
- Binary search
- Selection sort
- Insertion sort
- Stable matching
- Algorithmic complexity

### Prerequisites

Up next

### 3.1 Next Steps in Python

Boost your proficiency in Python by learning how to access social media data with public functions.

Jump ahead