Toward an understanding of data structures
Communications of the ACM
Hi-index | 0.00 |
Much attention has been focused lately on the notions of structured programming, a crucial factor when dealing with the design of large programming Systems. Rather than viewing programming as an art and the programmer as the perpetual artist, structured programming provides a more .systematic (and in a way more restricted) approach which facilitates debugging and proving assertions about programs. One of the ideas developed by advocates of structured programming is the top-down elaboration of program control structures by a recursive process of successive refinements [1]. No such process has been developed for dealing with data structures. The main reason for this is the improper intermixing of the semantic and implementation concepts [2] of a data structure. The failure to distinguish between these concepts is a result of the conflicting factors involved in choosing a data structure: simplicity of element access, minimization of search time, dynamics of growth or elimination of data, simplicity of restructuring and extension, efficiency of storage utilization and others.