In computer science, a data structure is a particular way of organizing data in a computer so that it can be used efficiently.
Different kinds of data structures are suited to different kinds of applications, and some are highly specialized to specific tasks. For example, databases use B-tree indexes for small percentages of data retrieval and compilers and databases use dynamic hash tables as look up tables.
Data structures provide a means to manage large amounts of data efficiently for uses such as large databases and internet indexing services. Usually, efficient data structures are key to designing efficient algorithms. Some formal design methods and programming languages emphasize data structures, rather than algorithms, as the key organizing factor in software design. Storing and retrieving can be carried out on data stored in both main memory and in secondary memory.
The Automatic Programming Server produces versions of generic procedures that are specialized for your data structures. This document tells how to describe your data structures to the system.
When you start the Automatic Programming Server, it creates a window containing an input area and a command menu. Click the mouse in the input area, then enter the description of your data; the input editor is an Emacs subset. After the description of your data structure is complete, click the mouse outside the input area; the system will respond with a confirming message. Repeat the process as needed to define other data types.
A parenthesized, Lisp-like data description language is used for all of these languages. The system will generate appropriate declarations in the target language for use if desired.
If the desired type is a basic type, only the basic type name needs to be specified. The basic types are:
If a view such as avl-tree is selected when the user type is a basic type, the system will define an appropriate carrier record containing that type as its contents.
A record is described by the form: (name fields) where a field is (name type) . A pointer to a type is denoted (^ type)
An example data declaration for a person data structure that could be viewed as a linked list is:
(person (name string)
(friend (^ person)))
Data Descriptions for Lisp
A Lisp data description has the basic form: (name type)
A type is either a type name or a structuring operator applied to types. The basic types are:
number (any number type in Lisp)
The structuring operators are:
(cons type1 type2 )
(list type1 ... typen)
(symbol (proplist prop1 ... propn)) where each propi is ( name type )
(^ type) (pointer to a named type)
An example data declaration for a person data structure in Lisp is:
(person (list (name string) (age integer) (salary real)
Explore thousands of colleges and their courses. Enhance your skills with online courses and test series. Know your career alternatives and get latest updates from educational world.
Get high quality filtered students leads, home page ads, top search rank and separate website, will passively work towards increasing the brand awareness.