An introduction to data structures with applications (2nd ed.)
An introduction to data structures with applications (2nd ed.)
Data structures and algorithm analysis in C++
Data structures and algorithm analysis in C++
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
The art of computer programming, volume 1 (3rd ed.): fundamental algorithms
Data Structures and Algorithms in Java
Data Structures and Algorithms in Java
Data Structures and the Java Collections Framework
Data Structures and the Java Collections Framework
Hi-index | 0.00 |
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.