## Data Structures 7/9: Binary Search Trees

Learn how to implement binary search trees and see how they compare to other data structures.

## Data Structures 6/9: Binary Heaps

Learn how to implement min and max binary heaps and see how they compare to other data structures.

## Data Structures 5/9: Hash Tables

Learn how to implement hash tables and see how they compare to other data structures.

## Data Structures 4/9: Linked Lists

Learn how to implement linked lists and see how they compare to other data structures.

## Data Structures 3/9: Stacks and Queues

Learn how to implement stacks and queues and see how they compare to other data structures.

## Data Structures 2/9: Dynamic Arrays

Learn the most ubiquitous data structure in programming today, the dynamic array.

## Data Structures 1/9: Introduction

Learn the fundamental data structures of computer science. See a comparison of popular data structures. Learn the pros and cons...

## Analyzing Algorithms 6/6: Determinism

An explanation of deterministic vs nondeterministic problems and an introduction to P, NP, NP-Hard, NP-Complete, and the P versus NP...

## Analyzing Algorithms 5/6: Choosing the Best Alg...

Examples of analyzing algorithms with big O and asymptotic notation to choose the best one for a given situation.

## Analyzing Algorithms 4/6: Common Patterns of Gr...

An explanation of many common and recognizable patterns of growth that come up time and time again in analyzing algorithms....

## Analyzing Algorithms 3/6: Asymptotic Notation

An explanation of asymptotic notation: big O, little o, theta, big omega, and little omega.