What Is Dynamic Programming?

Why Should I Care?

Dynamic programming is the process of breaking down a larger problem into smaller problems. By using the answers to those smaller problems, we can find the overall solution more efficiently.

We'll also learn about the term "memoization," and how it relates to dynamic programming.

What Is Jaro-Winkler Similarity?

Why Should I Care?

String similarity metrics have various uses; from user-facing search functionality, to spell checkers.

There are a few common string similarity metrics. Knowing a little about each will help you to choose the right one, should you ever need to implement something like this yourself.

What Is Breadth-First Search?

Why Should I Care?

A lot of algorithms are implemented for you as part of your chosen language. That means that they are interesting to learn about, but you'll rarely write them yourself.

Graph traversal algorithms are different. We use graphs all the time, from linking related products in an e-commerce application to mapping relationships between people in a social network.