You are on page 1of 21

INSTITUTO POLITCNICO NACIONAL

Escuela Superior de Ingeniera Mecnica y Elctrica


Unidad Culhuacn
Anlisis de Algoritmos
Integrantes: Jos Soto Prez
Morales Lpez Waldo
Hernndez Surez Gabriel
Profesora: Beatriz Dolores Guardin Soto

Estructuras de datos
lineales
7 de febrero, 2013, Revisin 02

Estructuras de Datos
Almacenamien
to Contiguo
Lineales
Estructur
as de
Datos

No
lineales

Almacenamien
to No
Contiguo

Operaciones Bsicas en Estructuras


Lineales
Recorrido: Procesa c/elemento de la estructura.
Bsqueda: Recupera la posicin de un elemento
especfico.
Insercin: Adiciona un nuevo elemento a la estructura.
Borrado: Elimina un elemento de la estructura.
Ordenacin: Ordena los elementos de la estructura de
acuerdo a los valores que contiene.
Mezcla: Combina 2 estructuras en una sola.

PILAS
Definicin:
Estructura de datos lineal donde los elementos pueden
ser aadidos o removidos solo por un extremo.
Trabajan con filosofa LIFO (Last In- First Out ).

Ejemplos:
Pila de platos
Pila de discos
Pila de llamadas a funciones
Pila de recursion
Pila de resultados parciales de formulas aritmticas, etc.

OPERACIONES BASICAS CON PILAS


PUSH (insertar).- Agrega un elementos a la pila en el
extremo llamado tope.
POP (remover).- Remueve el elemento de la pila que se
encuentra en el extremo llamado tope.
VACIA.- Indica si la pila contiene o no contiene
elementos.
LLENA.- Indica si es posible o no agregar nuevos
elementos a la pila.

REPRESENTACIN DE PILAS:
Usando arreglos: Define un arreglo de una dimensin

(vector) donde se almacenan los elementos.

0
1
2
3
4
5
TOPE: Apunta hacia el elemento que se encuentra en el
extremo de la pila. (inicialmente es -1).

Ejemplo
Eliminar
Inicio:

Insertar A:

Insertar B: Insertar C: elemento

C
A
Top
e

-1

Top
e

Top
e

Top
e

Top
e

Aplicaciones de Pilas
Funciones Recursivas
Las pilas pueden ser usadas para implementar la
recursin en programas.
Una funcin o procedimiento recursivo es aquel que se
llama a si mismo.
Ejemplos:
Factorial
Nmeros de Fibonacci
Torres de Hanoi
Algoritmos de Ordenamiento de datos
Etc.

COLAS
Definicin. Es una lista lineal de elementos en la que las
operaciones de insertar y eliminar se realizan en diferentes
extremos de la cola. Trabajan con filosofa FIFO (First In First out), el primer elemento en entrar es el primer
elemento en salir.
Ejemplos:
*Cola de automviles esperando servicio en una gasolinera
*Cola de clientes en una ventanilla del banco para pagar
un servicio
*Cola de programas en espera de ser ejecutados por una
computadora.

TIPOS DE COLAS:
*Cola simple: Estructura lineal donde los elementos salen
en el mismo orden en que llegan.
*Cola circular: Representacin lgica de una cola simple
en un arreglo.
*Cola de Prioridades: Estructura lineal en la cual los
elementos se insertan en cualquier posicin de la cola y se
remueven solamente por el frente.
*Cola Doble (Bicola): Estructura lineal en la que los
elementos se pueden aadir o quitar por cualquier extremo
de la cola (cola bidireccional).

Operaciones bsicas en Colas Simples


*Insertar.- Almacena al final de la cola el elemento que
se recibe como paramtro.
*Eliminar.- Saca de la cola el elemento que se
encuentra al frente.
*Vaca.- Regresa un valor booleano indicando si la cola
tiene o no elementos (true si la cola esta vacia,
false si la cola tiene al menos un elemento).
*Llena.- Regresa un valor booleano indicando si la cola
tiene espacio disponible para insertar nuevos
elementos ( true si esta llena y false si existen
espacios disponibles).

Operaciones:
1.- Insertar A

Estado de la cola: Inicio Cola


Vaca
A

2.- Insertar B

3.- Insertar C

4.- Remover Elemento

5.- Insertar D

6.- Remover Elemento

LISTAS
Una lista es una coleccin lineal de elementos llamados
nodos donde el orden de los mismos se establece
mediante punteros o referencias y existe un
puntero/referencia especial llamado inicio para localizar al
primer elemento.
Ejemplo:
inicio
Informacin enlace

inicio
* Lista enlazada de 4 elementos

Los nodos de las listas


Un nodo se divide en 2 partes:
Informacin: Contiene la informacin del elemento.
Enlace: Contiene la direccin del siguiente nodo de la
lista.

informacin enlace
Nodo

Almacenamiento de datos:

*Arreglos: La relacin lineal esta implcita en la relacin


fsica de los elementos. Desventaja: Almacenamiento
esttico y tamao fijo.
*Elementos enlazados: Agrega a cada elemento un campo
de enlace, no requieren almacenamiento contiguo en
memoria, se pueden aadir y borrar elementos fcilmente.

Listas Simples
*Coleccin lineal de elementos llamados nodos.
*Existe un elemento llamado inicio que apunta al primer
elemento de la lista.
*Cada nodo contiene un campo de enlace que apunta al
siguiente elemento.
*El ltimo elemento de la lista en su campo enlace apunta
a nulo.
*Al principio el apuntador inicio apunta a nulo.

Operaciones con listas simples

*Insertar: Agrega un elemento a la lista.


*Eliminar: Retira un elemento de la lista.
*Buscar: Busca un elemento en la lista.
*Recorrer: Visita todos los elementos de la lista.
*Vaca: Indica si la lista contiene o no elementos.
*Tamao: Indica el nmero de elementos de la lista.

LISTAS DOBLES
Una lista doble es una estructura lineal de elementos
llamados nodos los cuales contienen dos campos de
enlace: uno al elemento anterior y otro al elemento
siguiente de la lista.
El primer nodo de la lista contiene nulo en su enlace al
elemento anterior y el ltimo nodo de la lista contiene nulo
en su enlace al elemento siguiente.

Estructura del Nodo:


Anterior

Informacin

Siguiente

Ejemplos:
Lista Vaca
inicio = fin =
Lista de un solo elemento
inicio

A
fin

Lista de tres elementos


inicio

C
fin

Operaciones con listas dobles


*Insertar: Agrega un elemento a la lista.
*Eliminar: Retira un elemento de la lista.
*Buscar: Busca un elemento en la lista.
*Recorrer hacia adelante: Visita todos los elementos de la
lista desde el inicio hasta el final.
*Recorrer hacia atrs: Visita todos los elementos de la lista
desde el final hasta el inicio.
*Vaca: Indica si la lista contiene o no elementos.
*Tamao: Indica el nmero de elementos de la lista.

You might also like