Conventional methods of storing aK-dimensional array allow easy extension only along one dimension. We present a technique of allocating a linear sequence of contiguous storage locations for aK-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 isO (N) whereN is the array size. The element access cost isO (K) for the 2-step computed access function used.ZusammenfassungKonventionelle Methoden der SpeicherungK-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ürK-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 SpeicherbedarfO (N) wobeiN die Feldgröße ist. Die Kosten eines Elementzugriffs betragenO (K) für die in zwei Schritten berechnete Zugriffsfunktion.
[1]
Thomas A. Standish.
Data Structure Techniques
,
1980
.
[2]
Arnold L. Rosenberg,et al.
Hashing Schemes for Extendible Arrays
,
1977,
JACM.
[3]
Donald Ervin Knuth,et al.
The Art of Computer Programming
,
1968
.
[4]
Arnold L. Rosenberg,et al.
Storage schemes for boundedly extendible arrays
,
2004,
Acta Informatica.
[5]
Arnold L. Rosenberg.
Managing Storage for Extendible Arrays
,
1975,
SIAM J. Comput..
[6]
Donald E. Knuth,et al.
The Art of Computer Programming, Volume I: Fundamental Algorithms, 2nd Edition
,
1997
.
[7]
Leo R. Gotlieb,et al.
Data types and structures
,
1978
.
[8]
Arnold L. Rosenberg.
Allocating Storage for Extendible Arrays
,
1974,
JACM.