Está en la página 1de 7

Clasificación de las estructuras de datos

1.1 Clasificación de las estructuras de datos

Clasificación de estructuras de datos


Una estructura de datos es una clase de datos que se puede caracterizar por su organización y
operaciones definidas sobre ella. Algunas veces a estas estructuras se les llama tipos de datos.

En ellas encontramos las siguientes:

ESTRUCTURAS LÓGICAS DE DATOS:

En un programa, cada variable pertenece a alguna estructura de datos explícita o implícitamente


definida, la cual determina el conjunto de operaciones válidas para ella. Las estructuras de datos
que se discuten aquí son estructuras de datos lógicas. Cada estructura de datos lógica puede tener
varias representaciones físicas diferentes para sus almacenamientos

ESTRUCTURAS PRIMITIVAS Y SIMPLES:

Son primitivas aquellas que no están compuestas por otras estructuras de datos por ejemplo,
enteros, booleanos y caracteres. Otras estructuras de datos se pueden construir de una o más
primitivas. Las estructuras de datos simples que consideramos se construyen a partir de
estructuras primitivas y son: cadenas, arreglos y registros. A estas estructuras de datos las
respaldan muchos lenguajes de programación.

ESTRUCTURAS LINEALES Y NO LINEALES:

Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras
más complejas. Las dos cases principales de estructuras de datos son las lineales y las no lineales,
dependiendo de la complejidad de las relaciones lógicas que representan. Las estructuras de datos
lineales incluyen pilas, colas y listas ligadas lineales. Las estructuras de datos no lineales incluyen
grafos y árboles.
Tipo de Datos Dinámicos
Aquella en la que el tamaño ocupado en memoria se define antes de que el programa se ejecute y
no pueda modificarse dicho tamaño durante la ejecución del programa entre las estructuras de
datos estáticas se encuentran en los array (vectores y matrices), registros, archivos y cadenas.

Las estructuras dinámicas de datos se pueden dividir en dos grandes grupos:

Lineales:

 Pilas
 Colas
 Listas Enlazadas

No Lineales:

 Arboles
 Grafos

Pilas
La pila es una estructura de datos simple cuyo concepto forma también parte, en un elevado
porcentaje de la vida diaria de las personas y organizaciones, como las listas. El tipo de dato Pila se
puede implementar con arrays o con listas enlazadas y describe ambos algoritmos y sus
correspondientes implementaciones en Java.

Una pila (stack) es una colección ordenada de elementos a los cuales sólo se puede acceder por un
único lugar o extremo de la pila. Los elementos se añaden o se quitan (borran) de la pila sólo por
su parte superior (cima). Este es el caso de una pila de platos, una pila de libros, etc.

Cuando se dice que la pila está ordenada, lo que se quiere decir es que hay un elemento al que se
puede acceder primero (el que está encima de la pila), otro elemento al que se puede acceder en
segundo lugar (justo el elemento que está debajo de la cima), un tercero, etc. No se requiere que
las entradas se puedan comparar utilizando el operador “menor que” (<) y pueden ser de
cualquier tipo. Las entradas de la pila deben ser eliminadas en el orden inverso al que se situaron
en la misma. Por ejemplo, se puede crear una pila de libros, situando primero un diccionario,
encima de él una enciclopedia y encima de ambos una novela, de modo que la pila tendrá la
novela en la parte superior.
Cuando se quitan los libros de la pila, primero debe quitarse la novela, luego la enciclopedia y por
último el diccionario. Debido a su propiedad específica último en entrar, primero en salir
se conoce a las pilas como estructuras de datos LIFO (last-in, first-out) Las operaciones usuales
en la pila son Insertar y Quitar. La operación Insertar (push) añade un elemento en la cima de la
pila, y la operación Quitar (pop) elimina o saca un elemento de la pila.

Colas
Una cola es una estructura de datos que almacena elementos en una lista y permite acceder a los
datos por uno de los dos extremos de la lista (Figura 10.1). Un elemento se inserta en la cola (parte
final) de la lista y se suprime o elimina por el frente (parte inicial, frente) de la lista. Las
aplicaciones utilizan una cola para almacenar elementos en su orden de aparición o concurrencia.

Los elementos se eliminan (se quitan) de la cola en el mismo orden en que se almacenan y, por
consiguiente, una cola es una estructura de tipo FIFO (first-in, firs-out, primero en entrar-
primero en salir o bien primero en llegar-primero en ser servido). El servicio de atención a clientes
en un almacén es un ejemplo típico de cola. La acción de gestión de memoria intermedia
(buffering) de trabajos o tareas de impresora en un distribuidor de impresoras (spooler) es otro
ejemplo típico de cola. Dado que la impresión es una tarea (un trabajo) que requiere más tiempo
que el proceso de la transmisión real de los datos desde la computadora a la impresora, se
organiza una cola de trabajos de modo que los trabajos se imprimen en el mismo orden en el que
se recibieron por la impresora.

Las operaciones usuales en las colas son Insertar y Quitar. La operación Insertar añade un
elemento por el extremo final de la cola, y la operación Quitar elimina o extrae un elemento por el
extremo opuesto, el frente o primero de la cola. La organización de elementos en forma de cola
asegura que el primero en entrar es el primero en salir.
Listas enlazadas
Una lista enlazada es una colección o secuencia de elementos dispuestos uno detrás de otro, en la
que cada elemento se conecta al siguiente elemento por un “enlace” o “referencia”. La idea básica
consiste en construir una lista cuyos elementos, llamados nodos, se componen de dos partes
(campos): la primera parte contiene la información y es, por consiguiente, un valor de un tipo
genérico (denominado Dato, TipoElemento, Info, etc.), y la segunda parte es una referencia
(denominado enlace o sgte) que apunta (enlaza) al siguiente elemento de la lista.

Una lista enlazada consta de un número de elementos, y cada elemento tiene dos componentes
(campos), una referencia al siguiente elemento de la lista y un valor, que puede ser de cualquier
tipo.

Arboles
Intuitivamente, el concepto de árbol implica una estructura en la que los datos se organizan de
modo que los elementos de información están relacionados entre sí a través de ramas. El árbol
genealógico es el ejemplo típico más representativo del concepto de árbol general. El árbol es una
estructura de datos muy importante en informática y en ciencias de la computación. Los árboles
son estructuras no lineales, al contrario que los arrays y las listas enlazadas, que constituyen
estructuras lineales. Los árboles se utilizan para representar fórmulas algebraicas, para organizar
objetos en orden de tal forma que las búsquedas sean muy eficientes y en aplicaciones diversas
tales como inteligencia artificial o algoritmos de cifrado. Casi todos los sistemas operativos
almacenan sus archivos en árboles o estructuras similares a árboles. Además de las aplicaciones
citadas, los árboles se utilizan en diseño de compiladores, procesado de texto y algoritmos de
búsqueda.

Si un árbol no está vacío, entonces el primer nodo se llama raíz. Obsérvese en la definición 2 que el
árbol ha sido definido de modo recursivo, ya que los subárboles se definen como árboles.
Grafo
Un grafo G agrupa entes físicos o conceptuales y las relaciones entre ellos. Un grafo está formado
por un conjunto de vértices o nodos V, que representan a los entes, y un conjunto de arcos A, que
representan las relaciones entre vértices. Se representa con el par G = (V, A). La Figura 15.1
muestra un grafo formado por los vértices V = {1,4,5,7,9} y el conjunto de arcos A = {(1,4), (4,1),
(5,1), (1, 5), (7,9), (9,7), (7,5), (5,7), (4,9), (9,4)}.

Un arco o arista representa una relación entre dos nodos. Esta relación, al estar formada por dos
nodos, se representa por (u, v) siendo u, v el par de nodos. Un grafo es dirigido, también
denominado digrafo, si los pares de nodos que forman los arcos son ordenados; se representan
con una flecha que indica la dirección de la relación, u → v. El grafo de la Figura 15.2, que consta
de los vértices V = {C,D,E,F,H} y de los arcos A = {(C,D,), (D,F), (E,H), (H,E), (E,C)} forma el grafo
dirigido G = {V,A}

Figura 15.2 Grafo dirigido Dado el arco (u,v) de un grafo, se dice que los vértices u y v son
adyacentes. Si el grafo es dirigido, el vértice u es adyacente a v, y v es adyacente de u.

Tipo de dato estático


Son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se
ejecute y no puede modificarse dicho tamaño durante la ejecución del programa.

Su principal característica es que ocupan solo una casilla de memoria, por lo tanto una variable
simple hace referencia a un único valor a la vez, dentro de este grupo de datos se encuentra: 

 Enteros

 Reales

 Caracteres

 Boléanos

 Enumerados

 Subrangos
Fuentes
http://cidecame.uaeh.edu.mx/lcc/mapa/PROYECTO/libro9/
estructuras_de_datos_estticas_y_dinmicas.html

Libro: Estructura de datos en java. Autores: Luis Joyanes Aguilar, Ignacio Zahonero Martinez

http://tesciedd.blogspot.com/2011/01/unidad-1-clasificacion-de-estructuras.html

También podría gustarte