Wektor Iliffe'a

W programowaniu komputerowym wektor Iliffe , znany również jako wyświetlacz , jest strukturą danych używaną do implementacji tablic wielowymiarowych . Wektor Iliffe'a dla n -wymiarowej (gdzie n ≥ 2) składa się z wektora (lub tablicy 1-wymiarowej) wskaźników do tablicy ( n - 1)-wymiarowej. Są one często używane w celu uniknięcia kosztownych operacji mnożenia podczas obliczania adresu na elemencie tablicy. Można je również wykorzystać do realizacji postrzępione tablice , takie jak tablice trójkątne , macierze trójkątne i inne rodzaje tablic o nieregularnych kształtach. Struktura danych została nazwana na cześć Johna K. Iliffe'a .

Ich wady obejmują potrzebę wielu połączonych łańcuchowo wskaźników pośrednich w celu uzyskania dostępu do elementu oraz dodatkową pracę wymaganą do określenia następnego wiersza w n-wymiarowej tablicy , aby umożliwić kompilatorowi optymalizacyjnemu wstępne pobranie go. Oba te czynniki są źródłem opóźnień w systemach, w których procesor jest znacznie szybszy niż pamięć główna.

Wektor Iliffe dla tablicy dwuwymiarowej jest po prostu wektorem wskaźników do wektorów danych, tj. wektor Iliffe reprezentuje kolumny tablicy, gdzie każdy element kolumny jest wskaźnikiem do wektora wiersza.

Tablice wielowymiarowe w językach takich jak Java , Python (listy wielowymiarowe), Ruby , Visual Basic .NET , Perl , PHP , JavaScript , Objective-C (przy użyciu NSArray, a nie tablicy w stylu C z głównym wierszem ), Swift i Atlas Autokody są zaimplementowane jako wektory Iliffe. Wektory Iliffe zostały użyte do zaimplementowania rzadkich tablic wielowymiarowych w produkcie OLAP Holos .

Wektory Iliffe są przeciwstawiane wektorom dope w językach takich jak Fortran , które zawierają współczynniki kroku i wartości przesunięcia dla indeksów dolnych w każdym wymiarze.

  • John K. Iliffe (1961). „Wykorzystanie systemu Genie w obliczeniach numerycznych”. Roczny przegląd programowania automatycznego . 2 : 25. doi : 10.1016/S0066-4138(61)80002-5 .

Dalsza lektura