Tipo de datos de matriz


En informática , un tipo de matriz es un tipo de datos que representa una colección de elementos ( valores o variables ), cada uno seleccionado por uno o más índices (claves de identificación) que se pueden calcular en tiempo de ejecución durante la ejecución del programa. Colección un Tal generalmente se llama una variable de matriz , valor de la matriz , o simplemente matriz . [1] Por analogía con los conceptos matemáticos de vector y matriz , los tipos de matriz con uno y dos índices a menudo se denominan tipo de vector y tipo de matriz., respectivamente. De manera más general, un tipo de matriz multidimensional se puede llamar tipo tensorial . [2]

El soporte de lenguaje para tipos de matriz puede incluir ciertos tipos de datos de matriz incorporados , algunas construcciones sintácticas (constructores de tipo de matriz ) que el programador puede usar para definir tales tipos y declarar variables de matriz, y notación especial para indexar elementos de matriz. [1] Por ejemplo, en el lenguaje de programación Pascal , la declaración type MyTable = array [1..4,1..2] of integerdefine un nuevo tipo de datos de matriz llamado MyTable. var A: MyTableLuego, la declaración define una variable Ade ese tipo, que es un agregado de ocho elementos, cada uno de los cuales es una variable entera identificada por dos índices. En el programa Pascal, esos elementos se denotan A[1,1], A[1,2], A[2,1], ..., A[4,2]. [3] Los tipos de matrices especiales a menudo se definen mediante las bibliotecas estándar del lenguaje .

Las listas dinámicas también son más comunes y más fáciles de implementar que las matrices dinámicas . Los tipos de matriz se distinguen de los tipos de registro principalmente porque permiten que los índices de elementos se calculen en tiempo de ejecución , como en la asignación de Pascal A[I,J] := A[N-I,2*J]. Entre otras cosas, esta característica permite que una sola declaración iterativa procese arbitrariamente muchos elementos de una variable de matriz.

En contextos más teóricos, especialmente en la teoría de tipos y en la descripción de algoritmos abstractos , los términos "matriz" y "tipo de matriz" a veces se refieren a un tipo de datos abstracto (ADT) también llamado matriz abstracta o pueden referirse a una matriz asociativa , un modelo matemático con las operaciones básicas y el comportamiento de un tipo de matriz típico en la mayoría de los lenguajes; básicamente, una colección de elementos que se seleccionan mediante índices calculados en tiempo de ejecución.

Dependiendo del idioma, los tipos de arreglos pueden superponerse (o identificarse con) otros tipos de datos que describen agregados de valores, como listas y cadenas . Los tipos de matriz a menudo se implementan mediante estructuras de datos de matriz , pero a veces por otros medios, como tablas hash , listas vinculadas o árboles de búsqueda .

El lenguaje de programación de Heinz Rutishauser Superplan (1949-1951) incluía matrices multidimensionales. Sin embargo, Rutishauser, aunque describió cómo se debería construir un compilador para su lenguaje, no implementó uno.