Из выше приведенных формул видно, что вычисление адреса эле-
мента многомерного массива может потребовать много времени, пос-
кольку при этом должны выполняться операции сложения и умножения,
число которых пропорционально размерности массива. Операцию умно-
жения можно исключить, если применять следующий метод.
Основной дескриптор Вектор Айлиффа
первого уровня
┌──────────────┐ ┌─────>┌────────────────┐
│ . │ │ │ │ 0
│ . │ │ ├────────────────┤
│ . │ │ │ │ 1
├──────────────┤ │ ├────────────────┤
│ (B) ───┼─────┘ │ │ 2
├──────────────┤ ├────────────────┤ j1
│ . │ │ │ 3
│ . │ ├────────────────┤
│ . │ ┌───────┼── │ 4
└──────────────┘ │ ├────────────────┤
│ ┌┼── │ 5
│ │└────────────────┘
Векторы Айлиффа │ └──────────────────────┐
второго уровня │ │
┌──────────────┐ │ ┌────────────────┐ │
┌───┼── │ -1 │ ┌──┼── │ -1 │
│ ├──────────────┤ │ │ ├────────────────┤ │
│┌──┼── │ 0<─┘ │┌─┼── │ 0<─┘ j2
││ ├──────────────┤ ││ ├────────────────┤
││┌─┼── │ 1 ││┌┼── │ 1
│││ └──────────────┘ │││└────────────────┘
││└────────────────┐ ││└─────────────────┐
│└───────┐ │ │└────────┐ │
v v v v v v
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
│B(4,│B(4,│B(4,│B(4,│B(4,│B(4,│B(5,│B(5,│B(5,│B(5,│B(5,│B(5,│
│ -1,│ -1,│ 0,│ 0,│ 1,│ 1,│ -1,│ -1,│ 0,│ 0,│ 1,│ 1,│
│ 0)│ 1)│ 0)│ 1)│ 0)│ 1)│ 0)│ 1)│ 0)│ 1)│ 0)│ 1)│
└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
0 1 0 1 0 1 0 1 0 1 0 1
Рис. 3.4. Представление массивов с помощью векторов Айлиффа
Для массива любой мерности формируется набор дескрипторов:
основного и несколько уровней вспомогательных дескрипторов, назы-
ваемых векторами Айлиффа. Каждый вектор Айлиффа определённого
уровня содержит указатель на нулевые компоненты векторов Айлиффа
следующего, более низкого уровня, а векторы Айлиффа самого нижне-
го уровня содержат указатели групп элементов отображаемого масси-
ва. Основной дескриптор массива хранит указатель вектора Айлиффа
первого уровня. При такой организации к произвольному элементу
В(j1,j2,...,jn) многомерного массива можно обратиться пройдя по
цепочке от основного дескриптора через соответствующие компоненты
векторов Айлиффа.
На рис. 3.4 приведена физическая структура трёхмерного мас-
сива В[4..5,-1..1,0..1], представленная по методу Айлиффа. Из
этого рисунка видно, что метод Айлиффа, увеличивая скорость дос-
тупа к элементам массива, приводит в то же время к увеличению
суммарного объёма памяти, требуемого для представления массива. В
этом заключается основной недостаток представления массивов с по-
мощью векторов Айлиффа.