Está en la página 1de 10

Estructuras de Datos Lineales

Estructuras de Datos no Lineales

Introducción a la Computación

Agenda

Estructuras lineales
Lista lineal
Pilas
Colas
Lista Enlazada

Estructuras no Lineales
Árbol
Grafo

Introducción a la Computación
2
Estructuras de datos lineales y no
lineales
Una estructura de datos puede ser clasificada
como lineal ó no lineal de acuerdo la relación
entre los elementos que la forman.
En una estructura lineal los elementos tienen
una relación 1 a 1.
Ejemplos de estructuras de datos lineales:
listas, pilas y colas.
En una estructura no lineal, los elementos
tienen una relación 1 a M, M a 1 ó M a M.
Ejemplos de estructuras de datos no lineales:
árboles y grafos.
Introducción a la Computación

Estructuras de datos

Introducción a la Computación
4
Estructuras de Datos Lineales
Cada elemento tiene un único elemento
“siguiente”.
Lista Lineal. Es una estructura de datos formada
por un conjunto de elementos ordenados.
El número de elementos puede variar.
A = [ A1, A2, ………,Ar ]
Lista A de r elementos.
Si r = 0 Lista vacía.
Se puede borrar o incluir en cualquier posición de la lista.
Introducción a la Computación
5

Lista Lineal

Operación 1 2 4 5
3
Incluir
3

Operación
1 2 3 4 5
Eliminar

Introducción a la Computación
6
Pilas

PILA (STACK).
Lista lineal en la
cual la inclusión y
PILA eliminación sólo
40 TOPE ocurre en un
60
30
extremo de la pila.
50 También conocida
20 2
como LIFO (Last In
10 1

First Out)

Introducción a la Computación
7

Pilas
Operaciones
Crear (Pila): Crea Pila vacía.
EstaVacía (Pila): Devuelve verdadero si
Pila está vacía.
Empilar (Elemento, Pila): El elemento
que ingresa se coloca en el Tope de
Pila.
Desempilar (Pila): Elimina el elemento
que está en el Tope de Pila.
ObtenerElemento (Pila): Devuelve el
valor que está en el Tope de Pila.
Introducción a la Computación
8
Pilas

Incluir un elemento
Empilar(20,Stack)
Stack 20 TOPE
40 TOPE 40
60 60
30 30
50 50
20 2 20 2

10 1 10 1

Introducción a la Computación
9

Pilas

Eliminar un elemento

Desempilar(Stack)
Stack 20 TOPE
40 40 TOPE
60 60
30 30
50 50
20 2 20 2

10 1 10 1

Introducción a la Computación
10
Clase Stack

Java posee la clase Stack que deriva de


Vector
Métodos:
empty()
peek()
pop()
push()
search()

Introducción a la Computación
11

Colas

COLA. Lista lineal en la cual los elementos se


eliminan por el inicio y se incluyen por el final.

7 0 3 2 5

Final Inicio

Introducción a la Computación
12
Colas

Operaciones
Crear (cola).
Está - vacía (cola).
Encolar (Elemento, cola). Siempre se
incluye el nuevo elemento al final de la
estructura.
Desencolar (cola). Siempre se elimina por
el inicio de la estructura.
Acceso. Sólo se puede accesar al
elemento que está al inicio de la cola.
Introducción a la Computación
13

Colas
Incluir un elemento en la cola.
Queue
7 0 3 2 5

Final Inicio
Encolar (9,queue)

9 7 0 3 2 5

Final Inicio

Introducción a la Computación
14
Colas
Eliminar un elemento de la cola.
Queue
9 7 0 3 2 5

Final Inicio
Desencolar (queue)

9 7 0 3 2

Final Inicio

Introducción a la Computación
15

Colas

En operaciones sucesivas de incluir y


eliminar podemos llegar a situaciones como
la siguiente:
Inicio
y x

Final

Se requiere incluir un nuevo elemento en la cola.


Cómo resolver?

Introducción a la Computación
16
Colas Circulares

Para resolver el problema, se plantea el uso de una


cola circular, considerando que la posición 1 está
pegada a la posición N.
Obtenemos una estruc-
tura en donde el Inicio c b

y el Final de la cola se d a Inicio


desplazan en la estruc-
e
tura de acuerdo a las Final

inclusiones y elimina-
ciones.
Introducción a la Computación
17

Listas Enlazadas
Una lista se define como una estructura de datos que contiene
un número variable de elementos que se encuentran
relacionados. Para hacer referencia a una lista es necesario
conocer donde inicia y donde termina, de tal manera que para
accederla necesitaríamos siempre acceder al primer elemento
de la lista y luego acceder a otros elementos.
Tipos de listas:
Simples Dobles Circulares

Aplicaciones de las listas: Representación de polinomios,


resolución de colisiones (Hash)-tiene aplicaciones en bases de
datos.
Introducción a la Computación
Árboles
Un árbol es una estructura de datos jerarquizada. Lo constituye una
colección de elementos llamados nodos. Cada nodo con la excepción
de la raíz tiene un nodo padre, y cada nodo puede tener cero o más
hijos que descienden de él. Un nodo sin hijos es llamado hoja.
Hay tres formas de hacer la ordenación o recorrido los nodos:
preorden, postorden e inorden.
Un árbol binario es un árbol cuyos nodos tienen a lo más dos hijos.
Aplicaciones de los árboles: evaluación de expresiones algebraicas,
buscar elementos, diseño de compiladores, sistemas expertos,
sistemas evolutivos, sistemas conscientes, manejo de directorios,
representación de árboles genealógicos, probabilidad.

Introducción a la Computación

Grafos
Un grafo es una colección de nodos(o vértices) unidos
por un conjunto de arcos (o aristas).
En una computadora, un grafo se puede representar
con su matriz de incidencia o su matriz de adyacencia.
Aplicaciones de los grafos: Representación de caminos
o rutas de transporte entre localidades, determinar
tiempos máximos y mínimos en un proceso, flujo y
control en un programa, representación de redes de
computadores.

Introducción a la Computación

También podría gustarte