Data structures

From HandWiki


A collection of data items and the relations between them are called a data structure in designing and writing programs. Typically, data items are grouped to represent necessary conceptual units proper to the application. These might be units of physics (particle, event, shower), of measurement (pulse in a sensor), of a piece of apparatus (a scintillator cell, a VME crate) or of data processing (a list of tentatively associated signals). Items have data attributes (e.g. coordinates, momentum, signal shape), and relational attributes (pointers to other items).

The proper definition of data and their relations is a key element in software engineering. So much so that modern object-oriented programming talks of ``objects that may be data or program pieces, and usually contain some of both. Whilst there is no discussion about their conceptual necessity ( Hepa img1.gif Maurer77), the practical implementation of data structures is far from agreed upon. Standard programming languages offer more or less limited data structuring concepts as part of the programming language. Most typically, they are limited in the sense that they get declared once and remain rigidly the same; the concept of dynamic data structures allows structural changes during execution of an application; this is, of course, more difficult to define and implement (see King92).