Iliffe vector (original) (raw)

About DBpedia

In computer programming, an Iliffe vector, also known as a display, is a data structure used to implement multi-dimensional arrays. An Iliffe vector for an n-dimensional array (where n ≥ 2) consists of a vector (or 1-dimensional array) of pointers 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 jagged arrays, such as triangular arrays, triangular matrices and other kinds of irregularly shaped arrays. The data structure is named after John K. Iliffe.

Property Value
dbo:abstract In computer programming, an Iliffe vector, also known as a display, is a data structure used to implement multi-dimensional arrays. An Iliffe vector for an n-dimensional array (where n ≥ 2) consists of a vector (or 1-dimensional array) of pointers 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 jagged arrays, such as triangular arrays, triangular matrices and other kinds of irregularly shaped arrays. The data structure is named after John K. Iliffe. Their disadvantages include the need for multiple chained pointer indirections to access an element, and the extra work required to determine the next row in an n-dimensional array to allow an optimising compiler to prefetch it. Both of these are a source of delays 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, Python (multidimensional lists), Ruby, Visual Basic .NET, Perl, PHP, JavaScript, Objective-C (when using NSArray, not a row-major C-style array), Swift, and Atlas Autocode are implemented as Iliffe vectors. Iliffe vectors were used to implement sparse multidimensional arrays in the OLAP product Holos. Iliffe vectors are contrasted with dope vectors in languages such as Fortran, which contain the stride factors and offset values for the subscripts in each dimension. (en)
dbo:wikiPageExternalLink http://www.chilton-computing.org.uk/acl/literature/books/compilingtechniques/p003.htm
dbo:wikiPageID 1696737 (xsd:integer)
dbo:wikiPageLength 2653 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1076479549 (xsd:integer)
dbo:wikiPageWikiLink dbr:Python_(programming_language) dbr:Ruby_(programming_language) dbr:Perl dbr:Visual_Basic_.NET dbr:Dope_vector dbr:Jagged_array dbc:Arrays dbr:Computer_programming dbr:Pointer_(computer_programming) dbr:Data_structure dbr:Fortran dbr:PHP dbr:JavaScript dbr:Java_(programming_language) dbr:Array_data_structure dbr:Atlas_Autocode dbr:John_Iliffe_(computer_designer) dbr:Swift_(programming_language) dbr:Holos dbr:Objective-C dbr:Triangular_array dbr:Triangular_matrix dbr:Row-major
dbp:wikiPageUsesTemplate dbt:Cite_journal dbt:Cite_web dbt:Comp-sci-stub dbt:Primary_sources dbt:Reflist
dcterms:subject dbc:Arrays
gold:hypernym dbr:Structure
rdf:type yago:WikicatArrays yago:Abstraction100002137 yago:Arrangement107938773 yago:Array107939382 yago:Group100031264 dbo:Building
rdfs:comment In computer programming, an Iliffe vector, also known as a display, is a data structure used to implement multi-dimensional arrays. An Iliffe vector for an n-dimensional array (where n ≥ 2) consists of a vector (or 1-dimensional array) of pointers 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 jagged arrays, such as triangular arrays, triangular matrices and other kinds of irregularly shaped arrays. The data structure is named after John K. Iliffe. (en)
rdfs:label Iliffe vector (en)
owl:sameAs freebase:Iliffe vector yago-res:Iliffe vector wikidata:Iliffe vector dbpedia-sr:Iliffe vector https://global.dbpedia.org/id/cVgR
prov:wasDerivedFrom wikipedia-en:Iliffe_vector?oldid=1076479549&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Iliffe_vector
is dbo:knownFor of dbr:John_Iliffe_(computer_designer)
is dbo:wikiPageDisambiguates of dbr:Iliffe
is dbo:wikiPageWikiLink of dbr:C_syntax dbr:List_of_data_structures dbr:Dope_vector dbr:Jagged_array dbr:S-algol dbr:Array_(data_structure) dbr:Array_(data_type) dbr:Matrix_representation dbr:Michael_P._Barnett dbr:Irregular_matrix dbr:John_C._Slater dbr:John_Iliffe_(computer_designer) dbr:Iliffe dbr:ICL_Distributed_Array_Processor dbr:Row-_and_column-major_order
is foaf:primaryTopic of wikipedia-en:Iliffe_vector