November 20

Lecture Overview

Complexity Theory

The branch of algorithms known as Computational Complexity studies problems for which we do not yet know an efficient algorithm. It turns out that there are many practical problems for which the fastest known algorithm would not finish before the sun burns out. Computational Complexity seeks to understand these hard problems and what it is about them that makes it hard to produce efficient algorithms.

Data Structures

Data Structures are the different ways of storing data in memory and the algorithms to access the data.

Exercises

No homework to turn in.

In a few days, we are going to be working with Sage. You should either download and install the latest version of Sage or create an account at SageMathCloud to use sage online (or both). You might also read an overview or watch a video of what sage is.