Typical Operations
Some operations that are often specified for ADTs (possibly under other names) are
compare
(s,t), that tests whether two structures are equivalent in some sense;hash
(s), that computes some standard hash function from the instance's state;print
(s) orshow
(s), that produces a human-readable representation of the structure's state.
In imperative-style ADT definitions, one often finds also
create
, that yields a new instance of the ADT;initialize
(s), that prepares a newly created instance s for further operations, or resets it to some "initial state";copy
(s,t), that puts instance s in a state equivalent to that of t;clone
(t), that performs s ←new
,copy
(s,t), and returns s;free
(s) ordestroy
(s), that reclaims the memory and other resources used by s;
The free
operation is not normally relevant or meaningful, since ADTs are theoretical entities that do not "use memory". However, it may be necessary when one needs to analyze the storage used by an algorithm that uses the ADT. In that case one needs additional axioms that specify how much memory each ADT instance uses, as a function of its state, and how much of it is returned to the pool by free
.
Read more about this topic: Abstract Data Type
Famous quotes containing the words typical and/or operations:
“Consciousness is cerebral celebritynothing more and nothing less. Those contents are conscious that persevere, that monopolize resources long enough to achieve certain typical and symptomatic effectson memory, on the control of behavior and so forth.”
—Daniel Clement Dennett (b. 1942)
“It may seem strange that any road through such a wilderness should be passable, even in winter, when the snow is three or four feet deep, but at that season, wherever lumbering operations are actively carried on, teams are continually passing on the single track, and it becomes as smooth almost as a railway.”
—Henry David Thoreau (18171862)