in

Introducción a las matrices – GeeksforGeeks

gfg 200x200 min

Una matriz es una colección de elementos almacenados en ubicaciones de memoria contiguas. La idea es almacenar varios elementos del mismo tipo juntos. Esto hace que sea más fácil calcular la posición de cada elemento simplemente agregando un desplazamiento a un valor base, es decir, la ubicación de memoria del primer elemento de la matriz (generalmente denotado por el nombre de la matriz). El valor base es el índice 0 y la diferencia entre los dos índices es el desplazamiento.
Para simplificar, podemos pensar en una matriz como una flota de escaleras donde en cada escalón se coloca un valor (digamos uno de tus amigos). Aquí, puede identificar la ubicación de cualquiera de sus amigos simplemente sabiendo el recuento del paso en el que se encuentran.
Recuerde: “La ubicación del siguiente índice depende del tipo de datos que usemos”.

formación

La imagen de arriba se puede ver como una vista de nivel superior de una escalera donde se encuentra en la base de la escalera. Cada elemento se puede identificar de forma única por su índice en la matriz (de manera similar a como podría identificar a sus amigos por el paso en el que se encontraban en el ejemplo anterior).

Tamaño de la matriz

En lenguaje C, la matriz tiene un tamaño fijo, lo que significa que una vez que se le asigna el tamaño, no se puede cambiar, es decir, no se puede reducir ni expandir. La razón fue que para expandir, si cambiamos el tamaño, no podemos estar seguros (no siempre es posible) de que obtendremos la siguiente ubicación de memoria libre. La reducción no funcionará porque la matriz, cuando se declara, obtiene la memoria asignada estáticamente y, por lo tanto, el compilador es el único que puede destruirla.
Tipos de indexación en un formación:

  • 0 (indexación de base cero): el primer elemento de la matriz está indexado por un subíndice de 0.
  • 1 (indexación basada en uno): el primer elemento de la matriz está indexado por el subíndice de 1.
  • n (indexación basada en n): el índice base de una matriz se puede elegir libremente. Por lo general, los lenguajes de programación que permiten la indexación basada en n también permiten valores de índice negativos, y otros tipos de datos escalares como enumeraciones o caracteres pueden usarse como un índice de matriz.

Array In C

C ++

#include <iostream>

using namespace std;

int main()

{

    

    int arr[10];

    

    

    arr[0] = 5;

    

    

    cout << arr[0];

    return 0;

}

C

#include <stdio.h>

int main()

{

    

    int arr[10];

    

    

    arr[0] = 5;

    

    

    printf("%d", arr[0]);

    return 0;

}

Aquí se imprime el valor 5 porque el primer elemento tiene índice cero y en el índice cero ya le asignamos el valor 5.

Ventajas de usar matrices:

  • Las matrices permiten el acceso aleatorio a los elementos. Esto hace que el acceso a los elementos por posición sea más rápido.
  • Las matrices tienen mejor localidad de caché eso hace una gran diferencia en el rendimiento.
  • Las matrices representan varios elementos de datos del mismo tipo con un solo nombre.

Desventajas de usar matrices:
No puede cambiar el tamaño, es decir, una vez que haya declarado la matriz, no puede cambiar su tamaño debido a la asignación de memoria estática. Aquí, las inserciones y eliminaciones son difíciles ya que los elementos se almacenan en ubicaciones de memoria consecutivas y la operación de cambio también es costosa.
Ahora, si toma un ejemplo de implementación de la estructura de datos Stack usando una matriz, hay algunas fallas obvias.
Tomemos el MÚSICA POP funcionamiento de la pila. El algoritmo sería algo como esto.

  1. Compruebe si hay subdesbordamiento de la pila
  2. Disminuir la parte superior en 1

Entonces, lo que estamos haciendo es que, el puntero al elemento superior se reduce, lo que significa que solo estamos delimitando nuestra vista, en realidad ese elemento permanece allí hablando del espacio de memoria. Si tiene algún tipo de datos primitivo, podría estar bien, pero el objeto de una matriz ocuparía mucha memoria.

Ejemplos:

// A character array in C/C++/Java
char arr1[] = {'g', 'e', 'e', 'k', 's'};

// An Integer array in C/C++/Java
int arr2[] = {10, 20, 30, 40, 50};

// Item at i'th index in array is typically accessed
// as "arr[i]".  For example arr1[0] gives us 'g'
// and arr2[3] gives us 40.

Por lo general, una matriz de caracteres se llama ‘cadena’, mientras que una matriz de ints o flotantes se llama simplemente matriz.

Aplicaciones en Array

  1. Array almacena elementos de datos del mismo tipo de datos.
  2. Las matrices se pueden utilizar para la programación de la CPU.
  3. Se utiliza para implementar otras estructuras de datos como pilas, colas, montones, tablas hash, etc.

Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema discutido anteriormente.

¡Atención lector! No dejes de aprender ahora. Obtenga todos los conceptos importantes de DSA con el Curso autodidacta de DSA a un precio asequible para los estudiantes y prepárese para la industria. Para completar su preparación desde el aprendizaje de un idioma hasta DS Algo y muchos más, consulte Curso completo de preparación para entrevistas.

En caso de que desee asistir clases en vivo con expertos, consulte Clases en vivo de DSA para profesionales que trabajan y Programación competitiva en vivo para estudiantes.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

OG Facebook Jobs home

Trabajos de desarrollador, trabajos de programación y más

180px Electric circuit

Corriente frente a voltaje: diferencia y comparación