Buscar..


Observaciones

Esta sección proporciona una descripción general de qué son las estructuras de datos y por qué un desarrollador puede querer usarlas.

También debe mencionar cualquier tema importante dentro de las estructuras de datos y vincular a los temas relacionados. Dado que la Documentación para estructuras de datos es nueva, es posible que deba crear versiones iniciales de esos temas relacionados.

Introducción a las estructuras de datos

Una estructura de datos es una forma de organizar y almacenar información.

Deja un "¡Hola mundo!" cadena sea la información que necesitamos para organizar y almacenar en memoria direccionable por byte.

Cada carácter ASCII requiere 7 bits de almacenamiento. La mayoría de los sistemas reservan 8 bits (1 byte) para cada carácter, por lo que cada carácter en "¡Hola, mundo!" se almacena en una unidad individual de memoria del tamaño de un byte, una tras otra, consecutivamente.

Necesitamos una única referencia a nuestra cadena a pesar de que abarca varias direcciones de memoria, por lo que usamos la dirección del primer carácter de la cadena, 'H'. Se puede acceder a todos los demás caracteres en la dirección de 'H' + el índice de ese carácter utilizando caracteres de índice cero.

Queremos imprimir nuestra cadena, "¡Hola mundo!" Sabemos su dirección en la memoria, que suministramos a la función de impresión, pero ¿cómo sabe la función de impresión para detener la impresión de ubicaciones de memoria consecutivas? Un enfoque común es agregar el carácter nulo, '\ 0', a la cadena. Cuando la función de impresión encuentra el carácter nulo, sabe que ha llegado al final de la cadena.

¡Hemos definido una forma de organizar y almacenar nuestra cadena, es decir, una estructura de datos! Esta estructura de datos muy simple es una matriz de caracteres terminada en nulo, que es una forma de organizar y almacenar una cadena.

Array: una estructura de datos simple

Una estructura de datos de matriz se utiliza para almacenar objetos similares (o valores de datos) en un bloque de memoria contiguo. La estructura de datos de la matriz tiene un tamaño fijo, que determina el número de valores de datos que se pueden almacenar en ella.


Array: El Camino C ++

En el lenguaje de programación C ++, podemos declarar una matriz estática de la siguiente manera

int arrayName[100];

Aquí hemos declarado una matriz llamada "arrayName" que puede almacenar hasta 100 valores, todos los cuales son del mismo tipo, es decir, un entero.

Ahora, vamos a discutir algunas ventajas y desventajas de esta estructura de datos

  1. Podemos acceder a los valores de datos almacenados en Array en tiempo constante, es decir, la complejidad del tiempo es O (1) . Por lo tanto, si queremos acceder al valor de los datos almacenados en la i-ésima posición, no necesitamos comenzar desde la posición inicial y avanzar a la i-ésima posición, sino que podemos saltar directamente a la i-ésima posición, lo que ahorra tiempo de computación.
  2. Insertar un elemento en medio de una matriz no es una tarea eficiente. Supongamos que queremos agregar un nuevo elemento en la matriz en la posición i-th, luego necesitamos mover todo el elemento en la posición (i-th) y (i + 1 th) para crear espacio para el nuevo elemento. Ejemplo: 1 4 2 0 es una matriz con 4 elementos, ahora queremos insertar 3 en la 2ª posición y luego necesitamos mover 4,2 y 0 una posición más para crear espacio para 3.
  1 3 4 2 0
  1. Similar a la inserción del elemento, la eliminación de un elemento de una i-th posición en una matriz tampoco es eficiente, ya que necesitamos mover todos los elementos delante del elemento eliminado en 1 bloque para llenar el espacio vacío creado por el elemento eliminado. elemento.

Estas son 3 características simples de una matriz. Aquí puede creer que la matriz no es una estructura de datos eficiente, pero en la práctica, la ventaja de una matriz puede superar sus desventajas. Esto depende en gran medida del tipo de propósito que desee cumplir, es posible que no desee insertar o eliminar elementos con la frecuencia que desee para acceder a ellos; en ese caso, una matriz es una estructura de datos absolutamente perfecta.

El único propósito de introducir esta estructura de datos es asegurarse de que simplemente no elija la Estructura de datos en función del número de ventajas y desventajas, pero siempre debe intentar analizar la importancia de la Estructura de datos teniendo en cuenta su problema, por ejemplo, Si va a pasar mucho tiempo accediendo a los valores de los datos en comparación con su inserción o eliminación, en ese caso, tenemos que dar más peso a la ventaja sobre la desventaja.



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow