# Introduction

### What is Data Structure?

Representing information is fundamental to computer science. The primary purpose of most computer programs is not to perform calculations, but to store and retrieve information - usually as fast as possible. We must organize that information in a way that allows us to find the answers in time to satisfy our needs.

In computer science, a data structure is a particular way of organizing data in a computer so that it can be used efficiently. Different kinds of data structure algorithms are used to different kinds of applications, and some are highly specialized to specific tasks. For example, databases use B-tree indexes for small percentages of data retrieval and compilers and databases use dynamic hash tables as look up tables. Even an integer or floating point number stored on the computer can be viewed as a simple data structure.

Data structures are generally based on the ability of a computer to fetch and store data at any place in its memory, specified by a pointer - a bit string, representing a memory address, that can be itself stored in memory and manipulated by the program.

The implementation of a data structure usually requires writing a set of procedures that create and manipulate instances of that structure. The efficiency of a data structure cannot be analyzed separately from those operations. This observation motivates the theoretical concept of an abstract data type, a data structure that is defined indirectly by the operations that may be performed on it, and the mathematical properties of those operations including their space and time cost.