U programiranju, Iliffe vektor, ili displej, je struktura podataka koja se koristi za implementiranje višedimenzionalnih nizova. Iliffe vektor za n-dimenzionalni niz (gde je n > 2) sastoji se od vektora (ili jednodimenzionalnog niza) od pokazivača na (n − 1)-dimenzioni niz. Oni se obično koriste da bi se izbegla potreba za skupim operacijama množenja kada se izvodi računanje adrese elementa niza. Mogu se koristiti i za implementaciju trouglastih nizova, ili druge vrste nepravilnih oblika nizova. Dobila je ime po John K. Iliffe.

Njihove mane uključuju potrebu za zaobilaženjem višestrukih ulančanih pokazivača da bi se pristupilo elementu, pride posao zahteva da se odredi sledeći red u n-dimenzionalnom nizu da bi dozvolio optimizovanom kompajleru da ga spoji. Oba su razlog za kašnjenje na sistemima gde je CPU značajno brži nego glavna memorija.

Iliffe vektor za 2-dimenzionalni niz je vektor od pokazivača na vektor podataka, npr. Illife vektor predstavlja kolone niza gde je svaki element kolone pokazivač na red vektora.

Višedimenzionalni nizovi u jezicima poput Java, Piton (višedimenzionalne liste), Ruby, Visual Basic .NET, Perl, PHP, JavaScript, Objective-C, and Atlas Autocode su implementirani kao Iliffe vektori.

Iliffe vektori se razlikuju od dope vectors koji postoje u nekim programskim jezicima (na primer, Fortran). Osnovna razlike potice zbog postojanja ofseta i razlicitih koraka u formiranju vrednosti indeksa za svaku dimenziju.


Notes уреди

References уреди

  • Iliffe, John K. (1961). „The Use of The Genie System in Numerical Calculations”. Annual Review in Automatic Programming. 2: 25. doi:10.1016/S0066-4138(61)80002-5.