- Iliffe vector
In
computer programming , an Iliffe vector is adata structure used to implement multi-dimensionalarray s. Named afterJohn K. Iliffe , an Iliffe vector for an "n" dimensional array (where "n">2) consists of a vector (or 1 dimensional array) ofpointer s to an "n"−1 dimensional array. They are often used to avoid the need for expensive multiplication operations when performing address calculation on an array element. They can also be used to implement triangular arrays, or other kinds of irregularly shaped arrays.Their disadvantages include the need for multiple dependent pointer indirections to access an element, and the extra work associated with determining the next row in an n-dimensional array to allow an optimising compiler to prefetch it. Both of these cause slow downs on systems where the CPU is significantly faster than main memory.
The Iliffe vector for a 2-dimensional array is simply a vector of pointers to vectors of data, i.e., the Iliffe vector represents the columns of an array where each column element is a pointer to a row vector.
Multidimensional arrays in languages such as Java and
Atlas Autocode are implemented as Iliffe vectors.References
*cite journal| author=John K. Iliffe|title=The Use of The Genic System in Numerical Calculations|journal=Annual Review in Automatic Programming|volume=2|year=1961|pages=1–28|doi=10.1016/S0066-4138(61)80002-5,see page 25
Wikimedia Foundation. 2010.