# Introduction to Data Structures

### Data Structures

A data structure is a way of storing data in an organized way that allows
the data to be used efficiently.

There are several basic operations that are supported by many data structures:

- Insertion: adding an element.
- Removal: removing an element.
- Search: finding a particular element.
- Traversing: looping through each element.

Arrays are the only data structure that is built into C++ (and Java).

In this class, we will learn how to build many others!

There are two main reasons to use particular data structures:

- They are more efficient for what you want to do.
- They organize the data so it can be processed more naturally.

### Algorithms

In this class we will learn many algorithms. Each of the operations above
is done using a different algorithm for each data structure. Some of these are
simple, and some are complex.

We will also learn many algorithms that operate on the different data
structures we use.

### Algorithm Analysis

Another important aspect of this course is algorithm analysis which is the
study of how efficient an algorithm is. Whenever we come up with algorithms in
this class, we will analyze them to see how efficient they are. Being able to
determine the efficiency of an algorithm is important in choosing what data
structures and algorithms are best for a particular task.

Copyright © 2018 Ian Finlayson | Licensed under a Creative Commons Attribution 4.0 International License.