In Computer Science a data structure is a container of data. Here, data refers to a more complicated sets of data that could not be represented or held in a nuclear container like variables in different data types.
There are various shapes of those containers. Depending on the application, and the type and format of the data we make certain decisions on which data structure to use. For instance if we want a container to hold data found on a driver’s license, we may want a container (structure) that looks like:
License Number: 12345
Name: Arthur Dent
Address: Near Dean Street
Date Of Birth: 03/08/1978
The above data structure “contains” several pieces of information: a number, a name, an address, and a date. So, this structure is specifically designed to hold information for a driver’s license.
What if we want to represent data for all driver’s licenses registered in a city? To achieve that, we need a structure to hold many items of the driver’s license structure we discussed. So, it is a “container of containers” but let’s talk about the container that would hold all licenses for a moment. We may create that structure to be a sorted list of all the licenses based on license numbers. Alternatively, we may want to group licenses by zip/postal code from the address field. You can imagine there are several ways.
We can generalize data structure examples discussed earlier to apply them to any data type; may it be numbers, words, images, mathematical expressions, or different combinations of all that and more.
Earlier, we mentioned that licenses may be stored in a sorted list by numbers, or grouped by zip codes. When we start talking about way to sort data and group it then probably search it for specific items; we are really discussing Algorithms.
Algorithms in Computer Science describe how to manipulate and access different data structures to solve a well defined problem. One important characteristic of algorithms that we can mathematically quantify the time they would take to reach a solution; in addition to memory consumption.