SlideShare una empresa de Scribd logo
1 de 12
Lissette Pimentel 11-1149
Estructura de Datos
Facilitadora: Rina Familia
Listas enlazadas.

 La lista enlazada es un TDA que nos permite almacenar
datos de una forma organizada, al igual que los
vectores pero, a diferencia de estos, esta estructura es
dinámica, por lo que no tenemos que saber "a priori"
los elementos que puede contener.
 En una lista enlazada, cada elemento apunta al
siguiente excepto el último que no tiene sucesor y el
valor del enlace es null. Por ello los elementos son
registros que contienen el dato a almacenar y un enlace
al siguiente elemento. Los elementos de una lista,
suelen recibir también el nombre de nodos de la lista.

 struct lista {
 gint dato;
 lista *siguiente;
 };

Representa el dato a almacenar.
Puede ser de cualquier tipo; en este
ejemplo se trata de una lista de
enteros.
Es un puntero al siguiente
elemento de la lista; con este
puntero enlazamos con el sucesor,
de forma que podamos construir la
lista.


 Para que esta estructura sea un TDA lista enlazada, debe
tener unos operadores asociados que permitan la
manipulación de los datos que contiene. Los operadores
básicos de una lista enlazada son:
 Insertar: inserta un nodo con dato x en la lista, pudiendo
realizarse esta inserción al principio o final de la lista o bien
en orden.
 Eliminar: elimina un nodo de la lista, puede ser según la
posición o por el dato.
 Buscar: busca un elemento en la lista.
 Localizar: obtiene la posición del nodo en la lista.
 Vaciar: borra todos los elementos de la lista
Pilas:


 Las pilas son estructuras de datos que tienes dos
operaciones básicas:
 push (para insertar un elemento) y pop (para
extraer
un
elemento).
Su
característica
fundamental es que al extraer se obtiene siempre el
último elemento que acaba de insertarse. Por esta
razón también se conocen como estructuras de
datos LIFO (del inglés Last In First Out).

 Una posible implementación mediante listas
enlazadas sería insertando y extrayendo siempre
por el principio de la lista. Gracias a las pilas es
posible el uso de la recursividad.
 Las pilas se utilizan en muchas aplicaciones que
utilizamos con frecuencia. Por ejemplo, la gestión
de ventanas en Windows (cuando cerramos una
ventana siempre recuperamos la que teníamos
detrás).

 Otro ejemplo es la evaluación general de cualquier
expresión matemática para evitar tener que
calcular el número de variables temporales que
hacen falta. Por ejemplo:
Colas



Las colas también son llamadas FIFO (First In First Out), que
quiere decir “el primero que entra es el primero que sale”.
 Colas simples:

 Se inserta por un sitio y se saca por otro, en el caso de la
cola simple se inserta por el final y se saca por el principio.
Para gestionar este tipo de cola hay que recordar siempre
cual es el siguiente elemento que se va a leer y cual es el
último elemento que se ha introducido.
 Colas circulares:



 En las colas circulares se considera que después del
último elemento se accede de nuevo al primero. De
esta forma se reutilizan las posiciones extraídas, el
final de la cola es a su vez el principio, creándose un
circuito cerrado.


Lo que se ha hecho es insertar (5), sacar (1), e insertar (8).

Se sabrá que una tabla está llena cuando “rear” y “front”
estén en una posición de diferencia.
El teclado de ordenador se comporta exactamente como
una cola circular.
Para implementar las colas circulares mediante listas
enlazadas se pone en el tipo T_Lista los punteros front y
rear.

 Colas con prioridad:
Las colas con prioridad se implementan mediante listas o arrays
ordenados. No nos interesa en este caso que salgan en el orden de
entrada sino con una prioridad que le asignemos. Puede darse el caso
que existan varios elementos con la misma prioridad, en este caso
saldrá primero aquel que primero llego (FIFO).
Paquete Pila:
Finalmente implementamos el paquete pila tanto para un array como
para listas. Esta implementación será realmente útil para el tema
siguiente, recursividad.


Gracias!!!

Más contenido relacionado

La actualidad más candente (19)

Listas y Pilas
Listas y PilasListas y Pilas
Listas y Pilas
 
Mapa conceptual de colas..
Mapa conceptual de colas..Mapa conceptual de colas..
Mapa conceptual de colas..
 
Presentacion pilas lista y colas
Presentacion pilas lista y colas  Presentacion pilas lista y colas
Presentacion pilas lista y colas
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Tda y heaps
Tda y heapsTda y heaps
Tda y heaps
 
Listas Encadenadas Jose Tannous
Listas Encadenadas Jose TannousListas Encadenadas Jose Tannous
Listas Encadenadas Jose Tannous
 
Unidad 3 Listas Java
Unidad 3 Listas JavaUnidad 3 Listas Java
Unidad 3 Listas Java
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Estructuras de datos lineales
Estructuras de datos linealesEstructuras de datos lineales
Estructuras de datos lineales
 
Listas,pilas&colas yorka
Listas,pilas&colas yorkaListas,pilas&colas yorka
Listas,pilas&colas yorka
 
Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.Estructura de datos Pilas, Colas y Listas.
Estructura de datos Pilas, Colas y Listas.
 
Listas
ListasListas
Listas
 
Listas
ListasListas
Listas
 
Pilas y colas
Pilas y colasPilas y colas
Pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas
ListasListas
Listas
 
Lista,pilas y columnas
Lista,pilas y columnasLista,pilas y columnas
Lista,pilas y columnas
 
Listas de Java
Listas de JavaListas de Java
Listas de Java
 
Estructuras dinámicas
Estructuras dinámicasEstructuras dinámicas
Estructuras dinámicas
 

Destacado

Actividad creativa contaminación en republica dominicana
Actividad creativa   contaminación en republica dominicanaActividad creativa   contaminación en republica dominicana
Actividad creativa contaminación en republica dominicanaLissette I. Pimentel S
 
Ia ppt portafolios ia unibe-lissette pimentel - 11-1149
Ia ppt portafolios ia unibe-lissette pimentel - 11-1149Ia ppt portafolios ia unibe-lissette pimentel - 11-1149
Ia ppt portafolios ia unibe-lissette pimentel - 11-1149Lissette I. Pimentel S
 
Ia ppt personajes ia-unibe-lissette pimentel - 11-1149
Ia ppt personajes    ia-unibe-lissette pimentel - 11-1149Ia ppt personajes    ia-unibe-lissette pimentel - 11-1149
Ia ppt personajes ia-unibe-lissette pimentel - 11-1149Lissette I. Pimentel S
 
Contaminacion del medio ambiente power point
Contaminacion del medio ambiente power pointContaminacion del medio ambiente power point
Contaminacion del medio ambiente power pointnatalia vildoso
 

Destacado (7)

Actividad creativa contaminación en republica dominicana
Actividad creativa   contaminación en republica dominicanaActividad creativa   contaminación en republica dominicana
Actividad creativa contaminación en republica dominicana
 
Ia ppt portafolios ia unibe-lissette pimentel - 11-1149
Ia ppt portafolios ia unibe-lissette pimentel - 11-1149Ia ppt portafolios ia unibe-lissette pimentel - 11-1149
Ia ppt portafolios ia unibe-lissette pimentel - 11-1149
 
Ia ppt personajes ia-unibe-lissette pimentel - 11-1149
Ia ppt personajes    ia-unibe-lissette pimentel - 11-1149Ia ppt personajes    ia-unibe-lissette pimentel - 11-1149
Ia ppt personajes ia-unibe-lissette pimentel - 11-1149
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Iii. ambiente.ppt def
Iii. ambiente.ppt defIii. ambiente.ppt def
Iii. ambiente.ppt def
 
Listas enlazadas
Listas enlazadasListas enlazadas
Listas enlazadas
 
Contaminacion del medio ambiente power point
Contaminacion del medio ambiente power pointContaminacion del medio ambiente power point
Contaminacion del medio ambiente power point
 

Similar a Lissette pimentel 11 1149 --- listas, pilas y colas

Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colaslabarra90
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colasAmaury Pascal
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datoscharlezgt
 
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337CJrosario2
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Edward Mejia Gomez
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasElias Peña
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colasiventura26
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfmichaelsilva2k20
 
Unidad tres estructura de datos
Unidad tres estructura de datosUnidad tres estructura de datos
Unidad tres estructura de datosRené Sosa Arana
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colasBlackzerox
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colasMaxDLeon
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generalesPatty Torres
 

Similar a Lissette pimentel 11 1149 --- listas, pilas y colas (20)

Tad lista, pilas y colas
Tad lista, pilas y colasTad lista, pilas y colas
Tad lista, pilas y colas
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Estructuras lineales
Estructuras linealesEstructuras lineales
Estructuras lineales
 
Gilmora
GilmoraGilmora
Gilmora
 
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337
 
Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314Listas pilascolas edward.mejia-10-1314
Listas pilascolas edward.mejia-10-1314
 
Lista, pilas y colas
Lista, pilas y colasLista, pilas y colas
Lista, pilas y colas
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
Estructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colasEstructura de datos listas, pilas y colas
Estructura de datos listas, pilas y colas
 
ED Listas, Pilas y Colas
ED Listas, Pilas y ColasED Listas, Pilas y Colas
ED Listas, Pilas y Colas
 
DECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdfDECLARACION DE LISTAS 1.pdf
DECLARACION DE LISTAS 1.pdf
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Unidad tres estructura de datos
Unidad tres estructura de datosUnidad tres estructura de datos
Unidad tres estructura de datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Listas,pilas y colas
Listas,pilas y colasListas,pilas y colas
Listas,pilas y colas
 
Listas, pilas y colas
Listas, pilas y colasListas, pilas y colas
Listas, pilas y colas
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Colas y listas generales
Colas y listas generalesColas y listas generales
Colas y listas generales
 

Lissette pimentel 11 1149 --- listas, pilas y colas

  • 1. Lissette Pimentel 11-1149 Estructura de Datos Facilitadora: Rina Familia
  • 2. Listas enlazadas.   La lista enlazada es un TDA que nos permite almacenar datos de una forma organizada, al igual que los vectores pero, a diferencia de estos, esta estructura es dinámica, por lo que no tenemos que saber "a priori" los elementos que puede contener.  En una lista enlazada, cada elemento apunta al siguiente excepto el último que no tiene sucesor y el valor del enlace es null. Por ello los elementos son registros que contienen el dato a almacenar y un enlace al siguiente elemento. Los elementos de una lista, suelen recibir también el nombre de nodos de la lista.
  • 3.   struct lista {  gint dato;  lista *siguiente;  }; Representa el dato a almacenar. Puede ser de cualquier tipo; en este ejemplo se trata de una lista de enteros. Es un puntero al siguiente elemento de la lista; con este puntero enlazamos con el sucesor, de forma que podamos construir la lista.
  • 4.   Para que esta estructura sea un TDA lista enlazada, debe tener unos operadores asociados que permitan la manipulación de los datos que contiene. Los operadores básicos de una lista enlazada son:  Insertar: inserta un nodo con dato x en la lista, pudiendo realizarse esta inserción al principio o final de la lista o bien en orden.  Eliminar: elimina un nodo de la lista, puede ser según la posición o por el dato.  Buscar: busca un elemento en la lista.  Localizar: obtiene la posición del nodo en la lista.  Vaciar: borra todos los elementos de la lista
  • 5. Pilas:   Las pilas son estructuras de datos que tienes dos operaciones básicas:  push (para insertar un elemento) y pop (para extraer un elemento). Su característica fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse. Por esta razón también se conocen como estructuras de datos LIFO (del inglés Last In First Out).
  • 6.   Una posible implementación mediante listas enlazadas sería insertando y extrayendo siempre por el principio de la lista. Gracias a las pilas es posible el uso de la recursividad.  Las pilas se utilizan en muchas aplicaciones que utilizamos con frecuencia. Por ejemplo, la gestión de ventanas en Windows (cuando cerramos una ventana siempre recuperamos la que teníamos detrás).
  • 7.   Otro ejemplo es la evaluación general de cualquier expresión matemática para evitar tener que calcular el número de variables temporales que hacen falta. Por ejemplo:
  • 8. Colas  Las colas también son llamadas FIFO (First In First Out), que quiere decir “el primero que entra es el primero que sale”.  Colas simples:  Se inserta por un sitio y se saca por otro, en el caso de la cola simple se inserta por el final y se saca por el principio. Para gestionar este tipo de cola hay que recordar siempre cual es el siguiente elemento que se va a leer y cual es el último elemento que se ha introducido.
  • 9.  Colas circulares:   En las colas circulares se considera que después del último elemento se accede de nuevo al primero. De esta forma se reutilizan las posiciones extraídas, el final de la cola es a su vez el principio, creándose un circuito cerrado.
  • 10.  Lo que se ha hecho es insertar (5), sacar (1), e insertar (8). Se sabrá que una tabla está llena cuando “rear” y “front” estén en una posición de diferencia. El teclado de ordenador se comporta exactamente como una cola circular. Para implementar las colas circulares mediante listas enlazadas se pone en el tipo T_Lista los punteros front y rear.
  • 11.   Colas con prioridad: Las colas con prioridad se implementan mediante listas o arrays ordenados. No nos interesa en este caso que salgan en el orden de entrada sino con una prioridad que le asignemos. Puede darse el caso que existan varios elementos con la misma prioridad, en este caso saldrá primero aquel que primero llego (FIFO). Paquete Pila: Finalmente implementamos el paquete pila tanto para un array como para listas. Esta implementación será realmente útil para el tema siguiente, recursividad.