В компьютерном программировании , вектор Илифф , также известный как дисплей , является структура данных , используется для реализации многомерных массивов . Вектор Илиффа для n- мерного массива (где n ≥ 2) состоит из вектора (или одномерного массива) указателей на ( n - 1) -мерный массив. Они часто используются, чтобы избежать необходимости в дорогостоящих операциях умножения при вычислении адреса для элемента массива. Их также можно использовать для реализации зубчатых массивов , таких как треугольные массивы , треугольные матрицы.и другие виды массивов неправильной формы. Структура данных названа в честь Джона К. Илиффа .
К их недостаткам можно отнести необходимость множественных косвенных указателей для доступа к элементу и дополнительную работу, необходимую для определения следующей строки в n- мерном массиве, чтобы оптимизирующий компилятор мог выполнить предварительную выборку. Оба они являются источником задержек в системах, в которых ЦП значительно быстрее, чем основная память.
Вектор Илиффа для 2-мерного массива - это просто вектор указателей на векторы данных, т. Е. Вектор Илиффа представляет столбцы массива, где каждый элемент столбца является указателем на вектор-строку.
Многомерные массивы в таких языках, как Java , Python (многомерные списки), Руби , Visual Basic .NET , Perl , PHP , JavaScript , Objective-C (при использовании NSArray, не построчно основных массива C-стиль), Swift и Atlas Автокод реализован как векторы Илиффа. Векторы Илиффа использовались для реализации разреженных многомерных массивов в OLAP-продукте Holos .
Векторы Илиффа противопоставляются векторам допинга в таких языках, как Фортран , которые содержат коэффициенты шага и значения смещения для индексов в каждом измерении.
Рекомендации
- Джон К. Илифф (1961). «Использование системы джиннов в численных расчетах». Годовой обзор в автоматическом программировании . 2 : 25. DOI : 10.1016 / S0066-4138 (61) 80002-5 .
Смотрите также
дальнейшее чтение
- «Глава 3: Отображение структуры данных» . Методы компиляции . Associates Technology Literature Applications Society . Дата обращения 5 мая 2015 . CS1 maint: обескураженный параметр ( ссылка )