Matriz en estructura de datos: qué es, matrices Operaciones [Ejemplos]

¿Qué es una matriz en la estructura de datos?

An matriz es una estructura de datos para almacenar más de un elemento de datos que tiene un tipo de datos similar. Los elementos de una matriz se asignan en ubicaciones de memoria adyacentes. Estas ubicaciones de memoria se llaman elementos de esa matriz. El número total de elementos en una matriz se llama de largo.

Se accede a los detalles de una matriz sobre su posición. Esta referencia se denomina índice or subíndice.

Concepto de matriz

Diagrama conceptual de matrices
Diagrama conceptual de matrices

El diagrama anterior ilustra que:

  1. Una matriz es un contenedor de elementos.
  2. Los elementos tienen un valor y tipo de datos específicos, como "ABC", VERDADERO o FALSO, etc.
  3. Cada elemento también tiene su propio índice, que se utiliza para acceder al elemento.

Nota:

  • Los elementos se almacenan en ubicaciones de memoria contiguas.
  • Un índice siempre es menor que el número total de elementos de la matriz.
  • En términos de sintaxis, cualquier variable declarada como una matriz puede almacenar múltiples valores.
  • Casi todos los lenguajes tienen la misma comprensión de matrices pero tienen diferentes formas de declararlas e inicializarlas.
  • Sin embargo, tres partes siempre serán comunes en todas las inicializaciones, es decir, el nombre de la matriz, los elementos y el tipo de datos de los elementos.

El siguiente diagrama ilustra la sintaxis para declarar una matriz en Python y C++ presentar que la comprensión sigue siendo la misma aunque la sintaxis puede variar ligeramente en diferentes idiomas.

Comprender la sintaxis de las matrices

Comprender la sintaxis de las matrices
  • Nombre de la matriz: necesario para una fácil referencia a la colección de elementos
  • Tipo de datos: Necesario para la verificación de tipos y la integridad de los datos.
  • Elementos: estos son los valores de datos presentes en una matriz

¿Por qué necesitamos arreglos?

A continuación se presentan algunas razones para utilizar matrices en la estructura de datos:

  • Las matrices son mejores para almacenar múltiples valores en una sola variable
  • Las matrices son mejores para procesar muchos valores de forma fácil y rápida.
  • Ordenar y buscar valores es más fácil en matrices

Creando una matriz en Python

In Python, las matrices son diferentes de las listas; las listas pueden tener elementos de matriz de tipos de datos, mientras que las matrices solo pueden tener elementos del mismo tipo de datos.

Python tiene un módulo separado para manejar matrices llamado matriz, que debe importar antes de comenzar a trabajar en ellas.

Nota: La matriz debe contener números reales, como enteros y flotantes, no se permiten cadenas.

El siguiente código ilustra cómo puedes crear una matriz de enteros en Python para almacenar el saldo de la cuenta:

 import array
 balance = array.array('i', [300,200,100])
 print(balance)

Formas de declarar una matriz en Python

Puedes declarar una matriz en Python mientras lo inicializa utilizando la siguiente sintaxis.

arrayName = array.array(type code for data type, [array,items])

La siguiente imagen explica la sintaxis.

Sintaxis de matriz en Python

Sintaxis de matriz en Python

  1. Identificador: especifique un nombre como lo hace habitualmente para las variables
  2. Módulo: Python tiene un módulo especial para crear matrices, llamado “array” – debes importarlo antes de usarlo
  3. Método: el módulo de matriz tiene un método para inicializar la matriz. Se necesitan dos argumentos, código tipográfico y elementos.
  4. Código tipo: especifique el tipo de datos utilizando los códigos de tipo disponibles (consulte la lista a continuación)
  5. Elements: especifica los elementos de la matriz dentro de los corchetes, por ejemplo [130,450,103]

La siguiente tabla ilustra los códigos de tipo disponibles para los tipos de datos admitidos:

Código de tipo Tipo C Python Tipo Tamaño mínimo en bytes
'C' tanque personaje 1
'B' char sin firmar int 1
'segundo' char firmado int 1
'tu' Py_UNICODE Personaje Unicode 2
'h' corto firmado int 2
'H' unsigned short int 2
'yo' firmado int int 2
'YO' int sin firmar long 2
'l' firmado largo int 4
'L' largo sin firmar long 4
'F' flotar flotar 4
're' doble flotar 8

¿Cómo acceder a un valor de matriz específico?

Puede acceder a cualquier elemento de la matriz utilizando su índice.

Sintaxis

arrayName[indexNum]

Ejemplo:

balance[1]

La siguiente imagen ilustra el concepto básico de acceso a los elementos de una matriz por su índice.

Acceder a un elemento de matriz

Acceder a un elemento de matriz

Aquí, hemos accedido al segundo valor de la matriz usando su índice, que es 1. El resultado de esto será 200, que es básicamente el segundo valor de la matriz equilibrada.

import array
balance = array.array('i', [300,200,100])
print(balance[1])

SALIDA

200

Formación OperaSupuestos de Alcance

El módulo de matriz de Python Tiene funciones independientes para realizar operaciones con matrices. Este es un método destructivo de operar con matrices, lo que significa que la modificación se guardará en la variable de la matriz.

recuadro

Con esta operación, puede insertar uno o más elementos en una matriz al principio, al final o en cualquier índice determinado de la matriz. Este método espera dos argumentos, índice y valor.

Sintaxis

arrayName.insert(index, value)

Ejemplo:

Agreguemos un nuevo valor justo después del segundo elemento de la matriz. Actualmente, nuestra matriz de saldo tiene tres elementos 300, 200 y 100. Entonces, ¿cuál es el índice del segundo elemento de la matriz con un valor de 200 si dijiste 1?

Para insertar el nuevo valor justo "después" del índice 1, debe hacer referencia al índice 2 en su método de inserción, así:

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)

Ahora, para verificar si se ha insertado el nuevo valor, ingrese el nombre de la matriz y presione Enter en el teclado:

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)

SALIDA

array('i', [300,200,150,100])

Borrar

Con esta operación, puede eliminar un elemento de una matriz por valor. Este método acepta sólo un argumento, valor. Después de ejecutar este método, los elementos de la matriz se reorganizan y los índices se reasignan.

Sintaxis

arrayName.remove(value)

Ejemplo:

Eliminemos el valor de 150 de la matriz. Actualmente, nuestra matriz de saldo tiene cuatro elementos 300, 200, 150 y 100. Entonces, para eliminar 150 de la matriz, solo tenemos que escribir 150 dentro del argumento del método. Sencillo, ¿verdad?

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)

Ahora, para verificar si el valor se ha eliminado, ingrese el nombre de la matriz y presione Enter en el teclado:

import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
print(balance)

SALIDA

 array('i', [300,200,100])

BUSCAR

Con esta operación, puede buscar un elemento en una matriz según su valor. Este método acepta sólo un argumento, valor. Este es un método no destructivo, lo que significa que no afecta los valores de la matriz.

Sintaxis

arrayName.index(value)

Ejemplo:

Busquemos el valor de 150 en la matriz. Actualmente, nuestra matriz de saldo tiene cuatro elementos 300, 200, 150 y 100. Entonces, para buscar 150 en la matriz, solo tenemos que escribir 150 dentro del argumento del método. Eso es bastante fácil. Este método devuelve el índice del valor buscado.

import array
balance = array.array('i', [300,200,150,100])
print(balance.index(150))

SALIDA

2

ACTUALIZAR

Esta operación es bastante similar al método de inserción, excepto que reemplazará el valor existente en el índice dado. Este medio simplemente asignará un nuevo valor en el índice dado. Este método espera dos argumentos, índice y valor.

Sintaxis

arrayName.udpate(index, value)

Ejemplo:

Supongamos que nuestra matriz tiene cuatro elementos 300, 200, 150 y 100, y queremos reemplazar 150 por 145. Entonces, ¿cuál es el índice 150?

Felicitaciones, si dijiste 2.

Para reemplazar 150 que tiene el índice 2, debe hacer referencia al índice 2 mediante un operador de asignación simple, como este:

import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145

Ahora, para verificar si el valor se ha actualizado, ingrese el nombre de la matriz y presione Enter en el teclado:

import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145
print(balance)

SALIDA

array('i', [300,200,145,100])

Recorrer

Puedes recorrer una matriz de Python usando bucles, como este:

import array
balance = array.array('i', [300,200,100])
for x in balance:
	print(x)

SALIDA

300
200
100

Creando una matriz en C++

C++ idioma es más flexible que Python cuando se trata de crear matrices. puedes crear C++ arrays de tres maneras mencionadas más adelante.

El siguiente código ilustra cómo se puede crear una matriz de enteros en C++ para almacenar el saldo de la cuenta:

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  for (int i = 0; i < 3; i++)
    {
      cout << "value of i: " << balance[i] << endl;
    }
  return 0;
}

Formas de declarar una matriz en C++

Puede declarar una matriz en tres variantes de sintaxis. ¿Cuál se adapta a su programa? esta elección se basa en los requisitos de su programa.

Declaración por tamaño

Sintaxis

dataType arrayName[arraySize];

Ejemplo:

int balance[3];

Sólo elementos de la matriz de inicialización de declaración

Sintaxis

dataType arrayName[] = {array, items};

Ejemplo:

int balance[] = { 300, 200, 100 };

Declaración por tamaño y elementos de matriz de inicialización

Sintaxis

dataType arrayName[arraySize] = {array, items};

Ejemplo:

int balance[3] = { 300, 200, 100 };

¿Cómo acceder a un valor de matriz específico?

Puede acceder a cualquier elemento de la matriz utilizando su índice.

Sintaxis

arrayName[indexNum]

Ejemplo:

balance[1]

La siguiente imagen ilustra el concepto básico de acceso a los elementos de una matriz por su índice.

Accediendo a un elemento de matriz

Accediendo a un elemento de matriz

Aquí, hemos accedido al segundo valor de la matriz usando su índice, que es 1. El resultado de esto será 200, que es básicamente el segundo valor de la matriz de equilibrio.

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  cout << balance[1];

  return 0;
}

Salida

200

Formación Operaciones en C++

Diferente a la Pythonen C++ Debes programar tú mismo la lógica para realizar las operaciones de inserción, eliminación, búsqueda, actualización y recorrido. C++ matrices

recuadro

La lógica para la operación de inserción es la siguiente:

  • recorrer los elementos de la matriz
  • desplazarlos a un índice mayor
  • agregar un nuevo elemento de matriz en un índice determinado

En el siguiente ejemplo, tenemos 5 elementos en la matriz de balance y queremos agregar un nuevo elemento justo después del valor 200. Esto significa que tenemos que desplazar todos los elementos después de 200 a un índice mayor y luego insertar nuestro nuevo valor de 150.

#include <iostream>
#include <stdio.h>

main() {
   int pos = 2;
   int size = 4;
   int balance[] = {300,200,100,50,0};
   
   printf("BEFORE INCREMENT: \n");
   for(int i = 0; i<5; i++) {
      printf("%d\n",balance[i]);
   }

   /* FOR SHIFTING ITEMS TO A GREATER INDEX */
   for(int i = size; i >= pos; i--) {
       balance[i+1]=balance[i];
   }

   /* FOR INSERTING VALUE AT OUR DESIRED INDEX */   
   balance[pos] = 150;
   
   printf("AFTER INCREMENT: \n");
   

   /* FOR PRINTING THE NEW ARRAY */   
   for(int i = 0; i<6; i++) {
      printf("%d\n",balance[i]);
   }
}

Salida

BEFORE INCREMENT
300
200
100
50
0
AFTERINCREMENT
300
200
150
100
50
0

Formación Operaciones en Java

Creemos una programación en Java, En este programa de matriz en Java Aceptaremos el tamaño y el valor de los elementos de la matriz del usuario.

import java.util.Scanner;

public class AddElements {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);

        System.out.println("Enter the size of the array");
        int n=sc.nextInt();

        int arr[]=new int[n];

        System.out.println("Enter Elements in the array");
        for(int i=0;i<n;i++)
        {
            arr[i]=sc.nextInt();
        }
        System.out.println("Elements in the array");
        for(int j=0;j<n;j++)
        {
            System.out.print(arr[j]+" ");
        }
    }
}

Salida:-

Enter the size of the array

5
Enter Elements in the array

1
2
3
4
5
Elements in the array
1 2 3 4 5 

Modificar elemento en matriz: -

Actualiza un elemento según el índice dado.

Programa en Java para saber cómo modificar elementos en una matriz

import java.util.Scanner;

public class ModifyElement {
    public static void main(String[] args) {
        int arr[]={1,2,3,4,5};
        int length= arr.length;
        Scanner sc=new Scanner(System.in);

        System.out.println("Array Elements Before modify");
        for(int i=0;i<length;i++)
        {
            System.out.print(arr[i]+" ");
        }


        System.out.println("\nEnter the position where you want to change in an array");
        int pos=sc.nextInt();

        System.out.println("Enter the value");
        int val=sc.nextInt();

        arr[pos]=val;

        System.out.println("Array Elements After modify");
        for(int j=0;j<length;j++)
        {
            System.out.print(arr[j]+" ");
        }
    }
}

Salida:-

Array Elements Before modify
1 2 3 4 5 
Enter the position where you want to change in an array

2
Enter the value
8
Array Elements After modify
1 2 8 4 5 

Elemento de acceso en matriz: -

Imprime todos los elementos de la matriz.

Programa en Java para saber cómo recorrer una matriz

public class AccessElements {
    public static void main(String[] args) {
        int arr[]={1,2,3,4,5};
        int length= arr.length;

        System.out.println("Array Elements are:-");
        for(int i=0;i<length;i++)
        {
            System.out.print(arr[i]+" ");
        }

    }
}

Salida:-

Array Elements are:-
1 2 3 4 5 

Resum

  • Una matriz es una estructura de datos para almacenar múltiples elementos de datos que tienen un tipo de datos similar.
  • El identificador, el tipo de datos, la longitud de la matriz, los elementos y el índice son las partes principales de una matriz.
  • Utilice el índice para procesar los valores de los elementos de la matriz.
  • Las matrices tienen un excelente soporte para mantener intactos los tipos de datos.
  • En la mayoría de los idiomas, una matriz se crea especificando un identificador, tipo de datos y elementos a incluir.
  • Las matrices son mejores para procesar una gran cantidad de valores y para realizar búsquedas y ordenaciones rápidas.
  • Python Tiene módulos y métodos integrados para realizar operaciones básicas de matriz como insertar, eliminar, buscar, actualizar y recorrer
  • C++ Necesita definir programas para operaciones básicas de matriz como insertar, eliminar, buscar, actualizar y recorrer