¿Qué es una Estructura de Datos?


Este escrito explica que es una Estructura de Datos. Este concepto es uno de los conceptos básicos de las Ciencias de la Computación.  Y para empezar a explicártelo elaboré el siguiente mapa conceptual.

Mapa conceptual de Estructura de Dato

Mapa conceptual de Estructura de Datos

Como se ve en el mapa conceptual una Estructura de Datos define la organización y la interrelación entre un conjunto de datos. También, define el conjunto de operaciones sobre esos datos. Por ejemplo, un arreglo es una estructura de datos. Un arreglo contiene un número determinado de elementos y cada uno esa en un posición del arreglo, esta posición es un número entero. Esto que acabo de describir es la organización e interrelación de los datos de un arreglo. Elaboré  un simpático ejemplo para explicarlo, un arreglo de pingüinos:

Un arreglo de pingüinos

Un arreglo de pingüinos

En la ilustración cada uno de los pingüinos está ubicado en una celda del arreglo, la cuál tiene un número asociado. Por ejemplo, el pingüino “fiestero” está en la posición tres, el hechicero en la seis. Todo esto son las interrelaciones y organización de los pingüinos en el arreglo.

Pero esto no es suficiente, una Estructura de Datos también tiene  operaciones. En nuestro caso del arreglo la más importante es la de selección. La operación de selección permite obtener el elemento que está almacenado en una posición del arreglo, como se ve en el siguiente diagrama.

Operación de selección en un arreglo de pingüinos

Operación de selección en un arreglo de pingüinos

En el diagrama anterior seleccionamos el elemento que está en la posición seis del arreglo, el hechicero y de la misma forma podemos seleccionar cualquier elemento del arreglo. Pero lo importante aquí es que una Estructura de Datos tiene operaciones.

Las operaciones se pueden clasificar en: operaciones de creación, operaciones de consulta y operaciones de modificación. Los operaciones de creación separan el espacio en memoria e inicializan cada uno de los elementos de datos del arreglo. Las operaciones de consulta hacen sólo eso, obtienen valores de la estructura. En el ejemplo del arreglo la operación seleccionar sería una operación de este tipo. Y por último, las operaciones de modificación, estas cambian los valores del conjunto de datos. En el arreglo sería la operación de modificar posición que cambia un valor de una posición dada. Podemos verla funcionando en el siguiente diagrama.

Modificar una posición del arreglo de pingüinos

Modificar una posición del arreglo de pingüinos

Lo que hicimos fue modificar el pingüino que está en los posición tres, el “rumbero” por uno nuevo el “cinéfilo”. Una vez más, no hay que perder de vista de que este es un ejemplo de operación de modificación en una estructura de datos.

Finalmente, las operaciones sobre una estructura tienen una eficiencia en espacio y en tiempo. La eficiencia en espacio es cuanta memoria ocupan y la de tiempo es cuanto duran en hacer la operación. Pero la medición no se hacen ni en bytes, ni en segundos. Sino, que se tiene en cuenta el tamaño del problema, es este caso, la longitud del arreglo y se expresa la cantidad de espacio usado en términos de esa longitud. Por ejemplo, digamos que el arreglo tiene longitud n y que cada pingüino ocupa k de espacio en memoria, entonces la eficiencia en espacio esta relacionada con la fórmula k * m. Igualmente se hace con la eficiencia en tiempo, en nuestro caso si tenemos un tiempo t para acceder a cualquier elemento del arreglo, pues el tiempo que no demoraría en recorrer todo el arreglo sería t * n.

Estos son los conceptos básicos de las Estructuras de Datos, asociados a estos hay muchos otros más. A continuación te dejo los artículos que escrito sobre el tema de estructuras de datos y otros temas relacionados.

  1. ¿Cómo ordenar un arreglo por selección?
  2. Como ordenar un arreglo al estilo burbuja
  3. ¿Como funcionan la malditas referencias en Java?
  4. Lista encadenada, ¡sin código! con gráficos
  5. El antiguo pero siempre actual concepto de separación interfaz-implementación
  6. Lista encadenada, ¡sin código! con gráficos (segunda parte)
  7. Lista doblemente encadenada ¡ahora en versión animada!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: