Abstract Data Type - Typical Operations

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) or show(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 snew, copy(s,t), and returns s;
  • free(s) or destroy(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:

    A building is akin to dogma; it is insolent, like dogma. Whether or no it is permanent, it claims permanence, like a dogma. People ask why we have no typical architecture of the modern world, like impressionism in painting. Surely it is obviously because we have not enough dogmas; we cannot bear to see anything in the sky that is solid and enduring, anything in the sky that does not change like the clouds of the sky.
    Gilbert Keith Chesterton (1874–1936)

    You can’t have operations without screams. Pain and the knife—they’re inseparable.
    —Jean Scott Rogers. Robert Day. Mr. Blount (Frank Pettingell)