Data Structure
Data Structure
Data Structure
Usage
Data structures serve as the basis for
abstract data types (ADT). The ADT
defines the logical form of the data type.
The data structure implements the
physical form of the data type.[5]
Implementation
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. Thus, the array and record data
structures are based on computing the
addresses of data items with arithmetic
operations, while the linked data
structures are based on storing addresses
of data items within the structure itself.
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).[9]
Examples
Language support
Most assembly languages and some low-
level languages, such as BCPL (Basic
Combined Programming Language), lack
built-in support for data structures. On the
other hand, many high-level programming
languages and some higher-level
assembly languages, such as MASM, have
special syntax or other built-in support for
certain data structures, such as records
and arrays. For example, the C (a direct
descendant of BCPL) and Pascal
languages support structs and records,
respectively, in addition to vectors (one-
dimensional arrays) and multi-dimensional
arrays.[12][13]
See also
Abstract data type
Concurrent data structure
Data model
Dynamization
Linked data structure
List of data structures
Persistent data structure
Plain old data structure
Queap
Succinct data structure
Tree (data structure)
References
1. Cormen, Thomas H.; Leiserson, Charles E.;
Rivest, Ronald L.; Stein, Clifford (2009).
Introduction to Algorithms, Third Edition (ht
tps://dl.acm.org/citation.cfm?id=1614191)
(3rd ed.). The MIT Press. ISBN 978-
0262033848.
2. Black, Paul E. (15 December 2004). "data
structure" (https://xlinux.nist.gov/dads/HT
ML/datastructur.html) . In Pieterse, Vreda;
Black, Paul E. (eds.). Dictionary of
Algorithms and Data Structures [online].
National Institute of Standards and
Technology. Retrieved 2018-11-06.
3. "Data structure" (https://www.britannica.co
m/technology/data-structure) .
Encyclopaedia Britannica. 17 April 2017.
Retrieved 2018-11-06.
4. Wegner, Peter; Reilly, Edwin D. (2003-08-29).
Encyclopedia of Computer Science (http://d
l.acm.org/citation.cfm?id=1074100.107431
2) . Chichester, UK: John Wiley and Sons.
pp. 507–512. ISBN 978-0470864128.
5. "Abstract Data Types" (https://opendsa-serv
er.cs.vt.edu/ODSA/Books/CS3/html/ADT.ht
ml) . Virginia Tech - CS3 Data Structures &
Algorithms. Archived (https://web.archive.o
rg/web/20230210114105/https://opendsa-
server.cs.vt.edu/ODSA/Books/CS3/html/A
DT.html) from the original on 2023-02-10.
Retrieved 2023-02-15.
6. Gavin Powell (2006). "Chapter 8: Building
Fast-Performing Database Models" (https://
web.archive.org/web/20070818140343/htt
p://searchsqlserver.techtarget.com/generi
c/0,295582,sid87_gci1184450,00.html) .
Beginning Database Design. Wrox
Publishing. ISBN 978-0-7645-7490-0.
Archived from the original on 2007-08-18.
7. "1.5 Applications of a Hash Table" (https://
web.archive.org/web/20210427183057/htt
ps://www.cs.uregina.ca/Links/class-info/2
10/Hash/) . University of Regina - CS210
Lab: Hash Table. Archived from the original
(http://www.cs.uregina.ca/Links/class-info/
210/Hash/) on 2021-04-27. Retrieved
2018-06-14.
8. "When data is too big to fit into the main
memory" (https://web.archive.org/web/201
80410032656/http://homes.sice.indiana.ed
u/yye/lab/teaching/spring2014-C343/datat
oobig.php) . Indiana University
Bloomington - Data Structures
(C343/A594). 2014. Archived from the
original (http://homes.sice.indiana.edu/yye/
lab/teaching/spring2014-C343/datatoobig.
php) on 2018-04-10.
9. Dubey, R. C. (2014). Advanced
biotechnology : For B Sc and M Sc students
of biotechnology and other biological
sciences. New Delhi: S Chand. ISBN 978-
81-219-4290-4. OCLC 883695533 (https://w
ww.worldcat.org/oclc/883695533) .
10. Seymour, Lipschutz (2014). Data structures
(Revised first ed.). New Delhi, India:
McGraw Hill Education.
ISBN 9781259029967. OCLC 927793728 (h
ttps://www.worldcat.org/oclc/92779372
8) .
11. Walter E. Brown (September 29, 1999).
"C++ Language Note: POD Types" (https://w
eb.archive.org/web/20161203130543/htt
p://www.fnal.gov/docs/working-groups/fpc
ltf/Pkg/ISOcxx/doc/POD.html) . Fermi
National Accelerator Laboratory. Archived
from the original (http://www.fnal.gov/doc
s/working-groups/fpcltf/Pkg/ISOcxx/doc/P
OD.html) on 2016-12-03. Retrieved
6 December 2016.
12. "The GNU C Manual" (https://www.gnu.org/
software/gnu-c-manual/gnu-c-manual.htm
l) . Free Software Foundation. Retrieved
2014-10-15.
13. Van Canneyt, Michaël (September 2017).
"Free Pascal: Reference Guide" (http://www.
freepascal.org/docs-html/ref/ref.html) .
Free Pascal.
14. Mark Moir and Nir Shavit. "Concurrent Data
Structures" (https://web.archive.org/web/2
0110401070433/http://www.cs.tau.ac.il/~s
hanir/concurrent-data-structures.pdf)
(PDF). cs.tau.ac.il. Archived from the
original (https://www.cs.tau.ac.il/~shanir/c
oncurrent-data-structures.pdf) (PDF) on
2011-04-01.
Bibliography
Peter Brass, Advanced Data Structures,
Cambridge University Press, 2008,
ISBN 978-0521880374
Donald Knuth, The Art of Computer
Programming, vol. 1. Addison-Wesley,
3rd edition, 1997, ISBN 978-0201896831
Dinesh Mehta and Sartaj Sahni,
Handbook of Data Structures and
Applications, Chapman and Hall/CRC
Press, 2004, ISBN 1584884355
Niklaus Wirth, Algorithms and Data
Structures, Prentice Hall, 1985,
ISBN 978-0130220059
Further reading
Alfred Aho, John Hopcroft, and Jeffrey
Ullman, Data Structures and Algorithms,
Addison-Wesley, 1983, ISBN 0-201-
00023-7
G. H. Gonnet and R. Baeza-Yates,
Handbook of Algorithms and Data
Structures - in Pascal and C (https://user
s.dcc.uchile.cl/~rbaeza/handbook/hboo
k.html) , second edition, Addison-
Wesley, 1991, ISBN 0-201-41607-7
Ellis Horowitz and Sartaj Sahni,
Fundamentals of Data Structures in
Pascal, Computer Science Press, 1984,
ISBN 0-914894-94-3
External links
Data structure
at Wikipedia's sister projects
Definitions
from
Wiktionary
Media from
Commons
Quotations
from
Wikiquote
Texts from
Wikisource
Textbooks
from
Wikibooks
Resources
from
Wikiversity
Descriptions (https://web.archive.org/w
eb/20050624234059/http://www.nist.g
ov/dads/) from the Dictionary of
Algorithms and Data Structures
Data structures course (http://www.cs.a
uckland.ac.nz/software/AlgAnim/ds_To
C.html)
An Examination of Data Structures from
.NET perspective (http://msdn.microsof
t.com/en-us/library/aa289148(VS.71).a
spx)
Schaffer, C. Data Structures and
Algorithm Analysis (http://people.cs.vt.e
du/~shaffer/Book/C++3e20110915.pd
f)
Retrieved from
"https://en.wikipedia.org/w/index.php?
title=Data_structure&oldid=1145786906"