 Listas   Pilas   ColasCarlos Rosario10-1337
Las listas son una estructura de datos organizada de forma secuencial, homogénea y dinámica. Refiriéndonos a que pueden cr...
La lista enlazada es un TDA que nos permitealmacenar datos de una forma organizada,al igual que los vectores pero, a difer...
Los operadores básicos de una lista enlazada son: Insertar: inserta un nodo con dato x en la lista,  pudiendo realizarse ...
 Tiene que declararse el tamaño de  la lista.   Exige sobrevaloración.   Consume mucho espacio. Complejidad computacio...
 Cada nodo apunta al siguiente; el ultimo no apunta a  nada. La lista es un puntero al primer nodo (y al ultimo). Compl...
 Cada nodo apunta al siguiente y al anterior. Duplica el uso de la memoria necesaria para los  punteros. Duplica el cos...
 Lista de numero de turnos. Lista de artículos de un almacen. Lista de personas.
 Tipo: Unidimensional {inv:N pertenece Z+(numeros enteros positivos} Operaciones:     Crear_vectorint>vector     Asig...
Una pila, es una estructura de datos en la que elúltimo elemento en entrar es el primero en salir, oprlo que también se de...
 Acceso limitado al ultimo elemento insertado. Operaciones básicas: apilar, desapilar y cima.     Push: insertar la dat...
 Organizador de paquetes. Pila de cajas de artículos. Maletero.
 Invariante:n<>0 Operaciones:crearPila()  Devuelve valor del tipo pila preparado para ser usado y que  contiene un valor...
Una cola es una secuencia de elementos deun cierto tipo, dispuesto en unadimension(tipo lineal de datos)Nuevos elementos s...
 insertar, quitarPrimero y primero. Cada rutina debería ejecutarse en  tiempo constante.
 En una cola de prioridad los  elementos están ordenados  dependiendo de su prioridad, de  tal forma que este disponible ...
 Tipo: Unidimensional Invariante: {Inv: N pertenece Z+} Operaciones:     Cola_Crear x int > vector     Cola_Insertar ...
 Cola en impresora. Filas para auto servi.
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337
Listas pilas colas_carlos_rosario10-1337
Próxima SlideShare
Cargando en…5
×

Listas pilas colas_carlos_rosario10-1337

733 visualizaciones

Publicado el

0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
733
En SlideShare
0
De insertados
0
Número de insertados
1
Acciones
Compartido
0
Descargas
35
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Listas pilas colas_carlos_rosario10-1337

  1. 1.  Listas  Pilas  ColasCarlos Rosario10-1337
  2. 2. Las listas son una estructura de datos organizada de forma secuencial, homogénea y dinámica. Refiriéndonos a que pueden crecer o decrecer en tiempo de ejecución según nuestras necesidades. Tipos de listas: Densa: la propia estructura determina cual es el siguiente elemento de la lista. Ejemplo: arrays. Enlazadas: la posición del siguiente elemento de la estructura la determina el elemento actual.
  3. 3. La lista enlazada es un TDA que nos permitealmacenar datos de una forma organizada,al igual que los vectores pero, a diferenciade estos, esta estructura es dinámica, por loque no tenemos que saber "a prioridad" loselementos que puede contener.En una lista enlazada, cada elementoapunta al siguiente excepto el último que notiene sucesor y el valor del enlace es null.Por ello los elementos son registros quecontienen el dato a almacenar y un enlaceal siguiente elemento. Los elementos deuna lista, suelen recibir también el nombrede nodos de la lista.
  4. 4. 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. 5.  Tiene que declararse el tamaño de la lista.  Exige sobrevaloración.  Consume mucho espacio. Complejidad computacional de las operaciones:  Buscar el enésimo, tiempo constante  Visualizar y Buscar, tiempo lineal.  Insertar y Eliminar son costosas.  Insertar o eliminar un elemento exige, en promedio, desplazar la mitad de los valores, O(n).  La construcción de una lista o la eliminación de todos sus elementos podría exigir un tiempo cuadrático.
  6. 6.  Cada nodo apunta al siguiente; el ultimo no apunta a nada. La lista es un puntero al primer nodo (y al ultimo). Complejidad computacional de las operaciones:  Visualizar y Buscar, tiempo lineal.  Buscar el enésimo, tiempo lineal.  Eliminar realiza un cambio de apuntadores y una orden nuevo, O(1).  Usa Buscar anterior cuyo tiempo de ejecución es lineal.  Insertar tras una posición P requiere una llamada a new y dos maniobras con apuntadores, O(1).  Buscar la posición P podría llevar tiempo lineal.  Un nodo cabecera facilita la inserción y la eliminación al comienzo de la lista.
  7. 7.  Cada nodo apunta al siguiente y al anterior. Duplica el uso de la memoria necesaria para los punteros. Duplica el coste de manejo de punteros al insertar y eliminar. La eliminación se simplifica.  No es necesario buscar el elemento anterior.
  8. 8.  Lista de numero de turnos. Lista de artículos de un almacen. Lista de personas.
  9. 9.  Tipo: Unidimensional {inv:N pertenece Z+(numeros enteros positivos} Operaciones:  Crear_vectorint>vector  Asignar_valoresvectorxint>vector  Ordenar_vectorvectorxint>vector  Determ_centrovectorxint>int
  10. 10. Una pila, es una estructura de datos en la que elúltimo elemento en entrar es el primero en salir, oprlo que también se denominan estructuras LIFO(LastIn, First Out).
  11. 11.  Acceso limitado al ultimo elemento insertado. Operaciones básicas: apilar, desapilar y cima.  Push: insertar la data en el tope de la pila.  Pop: remueve la data del tope de la pila.  Desapilar o cima en una pila vacía es un error en el TDA pila.  Quedarse sin espacio al apilar es un error de implementación. Cada operación deberá tardar una cantidad constante de tiempo en ejecutarse.  Con independencia del numero de elementos apiladas.
  12. 12.  Organizador de paquetes. Pila de cajas de artículos. Maletero.
  13. 13.  Invariante:n<>0 Operaciones:crearPila() Devuelve valor del tipo pila preparado para ser usado y que contiene un valor de pila vacía. Esta operación es la misma que la de las listas generales. Precondiciones:N=0 Poscondiciones:pilacread
  14. 14. Una cola es una secuencia de elementos deun cierto tipo, dispuesto en unadimension(tipo lineal de datos)Nuevos elementos se anaden al final de lacola.Esta estructura de datos se puede definircomo una lista enlazada con acceso FIFO a laque sólo se tiene acceso al final de la listapara meter elementos y al principio de estapara sacarlos.
  15. 15.  insertar, quitarPrimero y primero. Cada rutina debería ejecutarse en tiempo constante.
  16. 16.  En una cola de prioridad los elementos están ordenados dependiendo de su prioridad, de tal forma que este disponible (para las operaciones Frente y Extraer) el elemento de máxima prioridad. En caso de igualdad se sigue la regla FIFO, de dos elementos con igual prioridad sale primero el que primero entro. Esto se puede conseguir bien insertando ordenadamente y extrayendo el primer elemento.
  17. 17.  Tipo: Unidimensional Invariante: {Inv: N pertenece Z+} Operaciones:  Cola_Crear x int > vector  Cola_Insertar vector x int x int > vector  Cola_Extraer vector x int > vector  Cola_Hayelementos vector > boolean  Cola_Eliminar vector x int > vector  Cola_llena vector x int > vector  Cola_Vaciar vector x int > vector
  18. 18.  Cola en impresora. Filas para auto servi.

×