Conventional methods of storing a
K-dimensional array allow easy extension only along one dimension. We present a technique of allocating a linear sequence of contiguous storage locations for a
K-dimensional extendible array by adjoining blocks of (
K–1)-dimensional subarrays. Element access is by determination of the block header location and then the displacement within the block. For cubical and all practical cases of rectangular arrays considered, the storage requirement is
O (N) where
N is the array size. The element access cost is
O (K) for the 2-step computed access function used.
Konventionelle Methoden der Speicherung
K-dimensionaler Felder lassen eine einfache Erweiterung lediglich entlang einer Dimension zu. Wir beschreiben eine Technik der Zuweisung einer linearen Folge von zusammenhängenden Speicherzellen für
K-dimensional erweiterbare Felder durch Hinzufügen von Blöcken aus (
K–1)-dimensionierten Teilfeldern. Der Elementzugriff erfolgt durch Bestimmung des Headers und des Displacements innerhalb des Blockes. Für kubische und alle praktische Fälle rechteckiger Felder ist der Speicherbedarf
O (N) wobei
N die Feldgröße ist. Die Kosten eines Elementzugriffs betragen
O (K) für die in zwei Schritten berechnete Zugriffsfunktion.
AMS Subject Classifications 68C05 - 68E05 - 68H05
Key words and phrases Dynamic memory allocation - multidimensional arrays