Categories of data structures

  • Authors:
  • Peter Falley

  • Affiliations:
  • Fairleigh Dickinson University, Madison, NJ

  • Venue:
  • Journal of Computing Sciences in Colleges - Papers of the Fourteenth Annual CCSC Midwestern Conference and Papers of the Sixteenth Annual CCSC Rocky Mountain Conference
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

In teaching Data Structures, we commonly discuss a sequence of different data types, grouping them according to certain commonalities, but often neglecting to emphasize the significant differences between the groups. When working in Java, the tendency to blur these distinctions is reinforced by the arrangement of the Java Collections Framework, which treats stacks as vectors and hash tables as dictionaries for example. This paper proposes grouping data structures into three categories: Storage structures (arrays, linked structures, hash tables), process-oriented data structures (stacks, queues, priority queues, iterators), and descriptive data structures (collections, sets, linear lists, binary trees, etc.), i.e., structures used to represent groups of objects. Storage structures are fundamental building blocks used in the implementation and representation of the other types of data structures. The paper seeks to emphasize the commonalities within each of the other two categories and the differences between the categories by employing implementation-independent specifications and contrasting the dynamic nature of the process-oriented with the static nature of the descriptive structures.