In
computer science, a
data structure is a particular way of storing and organizing
data in a computer so that it can be used
efficiently.
Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example,
B-trees are particularly well-suited for implementation of databases, while
compiler implementations usually use
hash tables to look up identifiers.
Data structures provide a means to manage large amounts of data efficiently, such as large
databases and internet indexing services. Usually, efficient data structures are a key to designing efficient
algorithms. Some formal design methods and
programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Storing and retrieving can be carried out on data stored in both
main memory and in
secondary memory.