Information retrieval II: A data structure for data retrieval

A WAY OF ORGANIZING DATA for storage and retrieval will be described and some of its characteristics discussed. This way of organizing data is an adaptation of the (chain) list structures used in heuristic programming and other information processing applications. In such list structures, each item in a (serial) list is stored with the address of the next item on the list, this has several advantages, the main one being perhaps of the ease with which lists may be altered during the running of a program. The extension with which this paper will be concerned consists of indicating, with each item, not only the address of the next item on the (serial) list in which it appears, but also the address of the preceding item. This allows the retrieval of a list from any point on that list and the representation of mathematically more complex structures than lists or trees. It also makes it possible to allow elements which appear on several lists to appear only once in the internal representation. When an item appears on more than one list, this is indicated not by duplicating the item but by referencing the same instance of the item in representing all the lists on which it appears. Thus, with each item there is a list of chaining addresses indicating its predecessor and successor on each of the lists on which it appears externally. Such a list is called a from/to list and is a (chain) list of pairs of addresses, each such pair representing a piece of a (serial) list.