Fundamentos de Estructuras de Datos y Tipos Abstractos para Programadores

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,03 KB

Clasificación de Estructuras de Datos

Una estructura de datos es un conjunto de datos en los que se pueden llevar a cabo diversas operaciones.

Estructuras Lógicas de Datos

En un programa, cada variable pertenece a un conjunto definido por las operaciones que se pueden llevar a cabo sobre ella.

Estructuras Primitivas

Son aquellas estructuras de datos básicas, por ejemplo, los enteros, fraccionarios, booleanos y los caracteres. A partir de ellas se construyen estructuras más complejas como los arrays, cadenas y registros.

Estructuras Lineales y No Lineales

Las estructuras de datos simples se pueden combinar de distintas formas para dar lugar a estructuras de datos más complejas. Entre las lineales, destacan las pilas, las colas, las listas enlazadas y las listas circulares.

El último nodo de una lista enlazada, que no almacena más que su propia dirección, puede apuntar a null.

Entre las estructuras no lineales, destacan dos grandes técnicas: los grafos y los árboles.

Nota: En los árboles, normalmente se parte del nodo raíz.

Tipos de Datos según su Gestión de Memoria

Datos Estáticos

Su tamaño y forma son constantes durante su ejecución, por lo tanto, se determina su longitud o reserva de espacio en memoria en tiempo de compilación. De tal manera, estas estructuras pueden presentar un problema al dimensionar su tamaño.

Datos Dinámicos

Su tamaño y forma suelen ser variables a lo largo de la ejecución de un programa, por lo que comúnmente se crean o se destruyen en tiempo de ejecución.

Tipos de Datos Abstractos (TDA)

Son todos aquellos tipos de datos que son definidos o declarados por el propio usuario (es decir, todos aquellos que no son predeterminados por el sistema).

Los Tipos de Datos Abstractos se componen de dos partes principales: la interfaz y la implementación. En la interfaz se declaran las operaciones disponibles.

La implementación contiene el código fuente de dichas operaciones y los detalles internos de los datos, manteniéndolos ocultos al usuario.

Ventajas de los Tipos de Datos Abstractos

  • Hacen el sistema más robusto.
  • Reducen los tiempos de compilación.
  • Permiten modificar la implementación sin afectar la interfaz.
  • Facilitan la extensibilidad.

Ejemplo de Tipo de Dato Abstracto

Un ejemplo es el tipo de dato booleano, formado por los valores true o false.

¿Qué es la Abstracción?

Es la capacidad de manejar un objeto como un concepto general, ocultando los detalles de su implementación interna.

Tipos de Datos Abstractos Compuestos Básicos

Conjunto

Colección de elementos tratados con las operaciones de unión, intersección y diferencia de conjuntos.

Arreglo (Array)

Colección homogénea de longitud fija, tal que cada uno de sus componentes puede ser accedido individualmente mediante un índice.

Registro

Tipo de dato heterogéneo compuesto por un número fijo de componentes denominados campos, a los que se accede mediante un selector de campo.

Matriz

Tiene como tipo el conjunto de matrices definido por las matemáticas y los operadores asociados a las mismas: obtener elemento, asignar elemento.

Lista o Secuencia

Colección homogénea de datos ordenados según su posición en ella, tal que cada elemento tiene un predecesor (excepto el primero) y un sucesor (excepto el último). Sus operadores típicos son: insertar, localizar, recuperar, suprimir (elementos), suprimir dato (todas las ocurrencias).

En general, el término "lista" se usa cuando el TDA se implementa sobre la memoria principal.

Entradas relacionadas: