Foundations
The Role of Algorithms in Computing
Algorithms
Algorithms as a technology
Getting Started
Insertion sort
Analyzing algorithms
Before we can analyze an algorithm, we must have a $\color{red}{\text{model}}$ of the implementation technology that we will use, including a model for the resources of that technology and their costs.
The running $\color{green}{\text{time}}$ of an algorithm on a particular input is the number of $\color{green}{\text{primitive operations}}$ or $\color{green}{\text{“steps”}}$ executed
A $\color{green}{\text{constant}}$ amount of time is required to execute $\color{green}{\text{each line}}$ of our pseudocode.