Introducción a las matrices en la estructura de datos

La matriz es un tipo de estructura de datos que se utiliza para almacenar datos homogéneos en ubicaciones de memoria contiguas. Esto implementa la idea de almacenar los diversos elementos de modo que se pueda recuperar o acceder de una sola vez.

Aquí el índice se refiere a la ubicación de un elemento en la matriz. Imaginemos si P (L) es el nombre de la matriz donde 'P' es el nombre de la variable y 'L' es la longitud de la matriz, es decir, el número de elementos presentes en la matriz. Entonces P (i) representa el elemento en ese 'i + 1' la posición en la matriz.

Por ejemplo:

P (6) = 72 significa elemento en la ubicación 6 + 1 de la matriz.

Necesidad de matriz: ayuda a representar una gran cantidad de elementos usando una sola variable. También hace que el acceso al elemento sea más rápido y fácil de almacenar en la ubicación de la memoria utilizando el índice de la matriz que representa la ubicación del elemento en la matriz.

¿Cómo funcionan las matrices en la estructura de datos?

La matriz almacena las variables en ubicaciones contiguas y les da un índice particular. Cuando alguien quiere obtener los datos, la persona usa este índice. En la matriz 'P' dada anteriormente, diga la dirección base para la matriz = 100, luego los elementos se almacenan de la siguiente manera:


La memoria asignada a una matriz se puede calcular como:

  • Matriz unidimensional: memoria total asignada a una matriz = número de elementos * tamaño de un elemento. Por ejemplo: en el caso anterior, memoria = 7 * (tamaño de int)
  • Orden principal de fila: memoria total asignada a matriz 2D = número de elementos * tamaño de un elemento
    = Número de filas * Número de columnas * Tamaño de un elemento
  • Orden principal de columna: memoria total asignada a matriz 2D = número de elementos * tamaño de un elemento
    = Número de filas * Número de columnas * Tamaño de un elemento

¿Cómo definir matrices?

Por lo tanto, Array se puede definir como una estructura de datos derivada para almacenar datos homogéneos de tipo de datos primitivos en ubicaciones de memoria contiguas. A continuación se detallan las operaciones que se pueden realizar en matrices:

1. Inserción: se refiere a insertar un elemento en la matriz en un índice particular. Esto se puede realizar con O (n) complejidad.

2. Eliminación: se refiere a eliminar un elemento en un índice particular. Esta operación requiere el desplazamiento de elementos después de la eliminación, por lo que requiere una complejidad O (n).

3. Búsqueda: se refiere al acceso a un elemento en un índice particular de una matriz.

4. Recorrido: se refiere a imprimir todos los elementos de una matriz uno tras otro.

Propiedades de las matrices en la estructura de datos

A continuación se muestran las propiedades de las matrices en la Estructura de datos:

  • Es un tipo de datos derivado, compuesto de una colección de varios tipos de datos primitivos como int, char, float, etc.
  • Los elementos de una matriz se almacenan en bloques contiguos en la memoria primaria.
  • El nombre de la matriz almacena la dirección base de la matriz. Actúa como un puntero al bloque de memoria donde se ha almacenado el primer elemento.
  • Los índices de matriz comienzan de 0 a N-1 en el caso de una matriz de una sola dimensión donde n representa el número de elementos en una matriz.
  • Los elementos de la matriz solo pueden estar compuestos de constantes y valores literales.

¿Cómo crear matrices?

Podemos crear matrices usando la siguiente sintaxis:

1. Matriz dimensional: var = (c1, c2, c3, …… .cn)

Aquí var se refiere a la variable a matriz que almacena la ubicación base de la matriz. Y c1, c2 … son elementos de la matriz.

Ejemplo: int a = (4, 6, 7, 8, 9)

Longitud de la matriz = n

2. Matriz multidimensional: var = ((r 01, … r 0n ), (r 10, … ..r 1n ) … .. (r m0 … .r mn ))

Aquí var se refiere al nombre de la matriz de m filas yn columnas.

¿Cómo acceder al elemento de matrices?

Los índices de una matriz comienzan desde 0 hasta -1.0 que indica el primer elemento de la matriz y -1 indica el último elemento de la matriz. Del mismo modo, -2 indica el último pero un elemento de la matriz. Digamos que hay una matriz 'A' que tiene 10 elementos. Entonces aquí, una variable almacena la referencia de la primera variable de la matriz y esto se llama 'Dirección base' de una matriz. Después de esto, si alguien quiere acceder al elemento de la matriz, la dirección de ese elemento se calcula utilizando la fórmula siguiente.

Dirección del elemento i = Dirección base + i * tamaño de cada elemento

Aquí, el tamaño de cada elemento se refiere a la memoria tomada por varios tipos de datos primitivos que contiene la matriz. Por ejemplo, int toma 2 bytes de espacio y flotante toma 4 bytes de espacio en C.

Acceso a la matriz multidimensional

Digamos que A (r l, …… .., r u ) (c u, ……, c l ) es una matriz multidimensional y rl, r u, c u, c l son los límites superior e inferior para filas y columnas. Que el número de filas en A, diga NR = r u - r l +1 y el número de columnas en A, diga NC = c l - c u +1.

Ahora para encontrar la dirección de un elemento en la matriz hay 2 métodos:

  1. Fila mayor: donde atravesamos fila por fila.

Dirección de A (i) (j) = Dirección base + ((i - r l ) * NC + (j- c l )) * tamaño de cada elemento.

  1. Columna mayor: donde atravesamos columna por columna.

Dirección de A (i) (j) = Dirección base + ((i - r l ) + (j- c l ) * NR) * tamaño de cada elemento.

Complejidad: acceder a cualquier elemento de la matriz es mucho más fácil y se puede hacer en O (1) complejidad.

Conclusión

Las matrices son una forma muy única de estructurar los datos almacenados de modo que se pueda acceder fácilmente y se pueda consultar para obtener el valor en un número particular utilizando el valor de índice. Aunque insertar un elemento en una matriz requiere mucho tiempo, ya que necesita una reorganización completa y el desplazamiento de los elementos existentes de una matriz. Aún así, se usa para implementar varias otras estructuras de datos complejas como árbol, cola o pila y también se usa en varios algoritmos.

Artículo recomendado

Esta es una guía de matrices en la estructura de datos. Aquí discutimos cómo crear y acceder a Elementos de matriz en la Estructura de datos junto con Propiedades. También puede consultar nuestros otros artículos relacionados para obtener más información:

  1. ¿Cómo crear matrices en PHP?
  2. Arreglos en la programación de Java Ventajas y desventajas
  3. Arreglos en la programación en C (ejemplos)
  4. Las 10 preguntas principales de la entrevista de estructura de datos