The structure of “data structures”

  • Authors:
  • Wilfred J. Hansen

  • Affiliations:
  • -

  • Venue:
  • ACM '81 Proceedings of the ACM '81 conference
  • Year:
  • 1981

Quantified Score

Hi-index 0.00

Visualization

Abstract

A data structure is defined to be a 4-tuple . &Dbarbelow; and &Fbarbelow; are Domain and Function definitions which define the externally observable behavior; &Sbarbelow; and &Abarbelow; are a Storage Structure and Algorithms which implement the functions. It is shown that this definition helps organize the field of data structures for presentation to students. In particular, the fact that the Storage Structure is a (lower level) data structure leads to a hierarchy of data structures. Following this hierarchy, a suitable order for presentation of the material is bits, words, arrays and records, lists, trees, and search tables. Students deserve structured presentations. In a course on data structures this is especially important because otherwise the subject can seem like a series of unrelated tricks. Moreover, the material is on structure and will be used to build programs with structure, so the student should be given as many examples of good structure as possible. There are a number of questions about how the material on data structures ought to be organized. Is the order arrays, stacks, records, lists appropriate with each subject being motivated by its predecessor? Or should stacks be last so their multiple implementations are derived from the alternate implementations of lists? Where should list node representations be described since one alternative uses lists themselves? This paper answers these questions by referring to the data structure definition presented in Section 1. This definition distinguishes between the externally observable behavior of the data structure and its implementation. Since the latter must be in terms of lower level data structures, the definition induces on data structures the hierarchy discussed in Section 2. Finally, Section 3 describes various topics that are omitted by this organization and why these include some of the more formal appraoches.