Automatic Data Structure Selection: An Example and Overview The use of several levels of abstraction has proved to be very helpful in constructing and maintaining programs. When programs are designed with abstract data types such as sets and lists, programmer time can be saved by automating the process of filling in low-level implementation details. In the past, programming systems have provided only a single general purpose implementation for an abstract type. Thus the programs produced using abstract types were then inefficient in space or time. In this paper a system for automatically choosing efficient implementations for abstract types from a library of implementations is discussed. This process is discussed in detail for an example program. General issues in data structure selection are also reviewed. CACM May, 1978 Low, J. Abstract data types, automatic programming, data structures, optimizing compilers, sets, lists 4.12 4.22 4.6 CA780504 DH February 26, 1979 1:51 PM 1957 4 3103 2151 4 3103 3103 4 3103 3103 4 3103 3148 4 3103 1860 5 3103 2877 5 3103 3103 5 3103 3103 5 3103 3103 5 3103