# Algorithms

We've partnered with Dartmouth college professors Tom Cormen and Devin Balkcom to teach introductory computer science algorithms, including searching, sorting, recursion, and graph theory. Learn with a combination of articles, visualizations, quizzes, and coding challenges.

This course contains 12 segments:

**Intro to algorithms**

What are algorithms and why should you care? We'll start with an overview of algorithms and then discuss two games that you could use an algorithm to solve more efficiently - the number guessing game and a route-finding game.

**Binary search**

Learn about binary search, a way to efficiently search an array of items by halving the search space each time.

**Asymptotic notation**

Learn how to use asymptotic analysis to describe the efficiency of an algorithm, and how to use asymptotic notation (Big O, Big-Theta, and Big-Omega) to more precisely describe the efficiency.

**Selection sort**

Learn selection sort, a simple algorithm for sorting an array of values, and see why it isn't the most efficient algorithm.

**Insertion sort**

Learn insertion sort, another simple but not very efficient way to sort an array of values.

**Recursive algorithms**

Learn the concept of recursion, a technique that is often used in algorithms. See how to use recursion to calculate factorial and powers of a number, plus to generate art.

**Towers of Hanoi**

Use the recursive technique to solve the Towers of Hanoi, a classic mathematical puzzle and one reportedly faced by monks in a temple.

**Merge sort**

Learn merge sort, a more efficient sorting algorithm that relies heavily on the power of recursion to repeatedly sort and merge sub-arrays.

**Quick sort**

Learn quick sort, another efficient sorting algorithm that uses recursion to more quickly sort an array of values.

**Graph representation**

Learn how to describe graphs, with their edges, vertices, and weights, and see different ways to store graph data, with edge lists, adjacency matrices, and adjacency lists.

**Breadth-first search**

Learn how to traverse a graph using breadth-first-search to find a particular node or to make sure you've visited all the nodes, traversing one layer at a time.

**Further learning**

Ideas of how you could continue your learning journey in algorithms.

## Get a Reminder

Rating | Not enough ratings |
---|---|

Length | 12 segments |

Starts | On Demand (Start anytime) |

Cost | Free |

From | Khan Academy |

Download Videos | On all desktop and mobile devices |

Language | English |

Subjects | Programming |

Tags | Computing |

## Get a Reminder

## Similar Courses

## Careers

An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Image Processing Algorithm Engineer $66k

Another World, Editor/Sound Editor and Remixer $79k

Robotics Algorithm Developer $89k

Crash Algorithm Calibration Engineer $92k

Sort Manger - Lenexa, KS $92k

Sort Manger - Lenexa, KS $92k

Imaging Algorithms Engineer $93k

Video Processing / Compression Algorithm Engineer $94k

Imaging Algorithms Scientist $98k

Algorithm and Architect Engineer, Mid $101k

GOES-R Algorithm Systems Engineer, PMP $118k

Algorithm Architect $168k

## Write a review

Your opinion matters. Tell us what you think.

##### Please login to leave a review

Rating | Not enough ratings |
---|---|

Length | 12 segments |

Starts | On Demand (Start anytime) |

Cost | Free |

From | Khan Academy |

Download Videos | On all desktop and mobile devices |

Language | English |

Subjects | Programming |

Tags | Computing |

## Similar Courses

Sorted by relevance

## Like this course?

Here's what to do next:

- Save this course for later
- Get
__more details__from the course provider - Enroll in this course