A data structure is a scheme for storing data in an organized way that allows the data to be used efficiently.
So far most of you have probably used one data structure for most things: the array (or ArrayList). Arrays are good for many tasks, but there are some things arrays are quite poor at.
In this class, we will learn data structures that solve a variety of problems, such as:
You could use arrays for solving these problems, but using the best data structure for the job will do two things:
An algorithm is a step-by-step procedure for solving some problem, or accomplishing some task.
There are several basic operations that are supported by most data structures:
Each of the data structures we look at will have a different algorithm for accomplishing each of these tasks. So we will learn many different algorithms in this class. Some of these are simple and some are more complex.
We will also learn many algorithms that operate on the different data structures we use, as examples of when the data structure will come in handy.
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.
Knowing and being able to use data structures effectively is the biggest thing that sets really good programmers apart.
The goal of this course is to give you the knowledge of how various data structures work, what problems they are good at solving, and the ability to use them in programs.
Copyright © 2019 Ian Finlayson | Licensed under a Creative Commons Attribution 4.0 International License.