Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Fila,pila y cola ..

  • Inicia sesión para ver los comentarios

  • Sé el primero en recomendar esto

Fila,pila y cola ..

  1. 1. Estructura de Datos Lista,pila y cola Evanyeline Brito 11-1029
  2. 2. LISTA Evanyeline Brito 11-1029
  3. 3. O Lista de compraO Lista de invitados Evanyeline Brito 11-1029
  4. 4. O Una lista consiste en una secuencia de nodos, en los que se guardan campos de datos arbitrarios y una o dos referencias (punteros) al nodo anterior o posterior.O Una lista es una colección homogénea de elementos con una relación lineal entre ellos. Es decir, cada elemento de la lista (excepto el primero) tiene un único elemento predecesor y cada elemento (excepto el último) tienen un elemento suceso Evanyeline Brito 11-1029
  5. 5. O Se define la ventana de una lista como el lugar de la secuencia sobre el cual se van a realizar las operaciones que se apliquen al objeto abstracto. De cierta manera, se puede ver como el único punto de la lista visible al usuario. Esto implica que el TAD, además de las operaciones usuales, debe tener operaciones para mover la ventana, de tal manera que se pueda colocar sobre cualquier elemento de la lista y afectarlo de la manera deseada Evanyeline Brito 11-1029
  6. 6. TAD ListOrd[ TipoLO ]e1, ..., en{ inv: ei ei+1, i 1 i < n }Constructoras:inicListOrd: ListOrdModificadoras:insListOrd: ListOrd x TipoLO ListOrdelimListOrd: ListOrd x TipoLO ListOrdAnalizadoras:infoListOrd: ListOrd x int TipoLOlongListOrd: ListOrd intestaListOrd ListOrd x TipoLO int Evanyeline Brito 11-1029
  7. 7. O Vectores : en esta representación, los elementos de la lista se sitúan consecutivamente en un vector. Maneja además dos campos adicionales que indican la longitud actual y la posición de la ventana.O Listas doblemente enlazadas: en esta representación, la lista tiene un nodo con apuntadores al primer elemento, al último y al elemento de la ventana. Los nodos, por su parte, se encuentran doblemente encadenados entre sí, para permitir que las modificadoras se puedan implementar con algoritmos O( 1 ) Evanyeline Brito 11-1029
  8. 8. PILA Evanyeline Brito 11-1029
  9. 9. O Ejemplo: En una torre de discos, para sacar el disco de hasta abajo, tienesque sacar primero todos los que están arriba de el, y es mas latacuando no sabes que disco es, tienes que buscar de uno por unoe irlos sacando Evanyeline Brito 11-1029
  10. 10. O Pilas son un tipo especial de lista, conocidas como listas LIFO (Last In, First Out: el último en entrar es el primero en salir). Los elementos se "amontonan" o apilan, de modo que sólo el elemento que está encima de la pila puede ser leído, y sólo pueden añadirse elementos encima de la pila.O Una pila es una estructura de datos en la cual solo se pueden hacer 2 operaciones : colocar elemento al final,o quitar un elemento del final. Evanyeline Brito 11-1029
  11. 11. TAD Pila[ TipoP ]{ inv: TRUE }Constructoras:inicPila: PilaModificadoras:adicPila: Pila x TipoP PilaelimPila: Pila PilaAnalizadoras:infoPila: Pila TipoPvaciaPila: Pila intDestructora:destruirPila: Pila Evanyeline Brito 11-1029
  12. 12. En esta implementación se utiliza un objetoabstracto del TAD Lista para representar una pila.El esquema de representación es el siguiente:O La pila pil = se representa con la lista < e1, e2 ... eN>.O La pila vacía (pil = ) se representa internamente como una lista sin elementos (pil = < >). Evanyeline Brito 11-1029
  13. 13. Un vector es una buena manera de representar una pila, si seconoce con anterioridad el número máximo de elementos que va acontener. Sólo se necesita algún medio para marcar el tope de lapila, puesto que los elementos se colocan en casillas consecutivasa partir de la primera.O La pila pil = se representa con la estructura:O La pila vacía pil = se representa con un cero en el campo que indica la posición del tope: Evanyeline Brito 11-1029
  14. 14. COLA Evanyeline Brito 11-1029
  15. 15. O La cola de impresiónO Las filas que se hacen en los supermercados, cines, bancos, Etc. Evanyeline Brito 11-1029
  16. 16. O Una cola es una estructura de datos, en la cual solo se pueden aplicar estas dos operaciones : colocar un elemento al final, o quitar un elemento del principio.O Se entiende por cola una estructura de datos en la que se añaden nuevos ítems en un extremo y se suprimen ítems viejos en el opuesto Evanyeline Brito 11-1029
  17. 17. TAD Cola[ TipoC ]{ inv: TRUE }Constructoras:inicCola: ColaModificadoras:adicCola: Cola x TipoC ColaelimCola: Cola ColaAnalizadoras:infoCola: Cola TipoCvaciaCola: Cola intDestructora:destruirCola: Cola Evanyeline Brito 11-1029
  18. 18. TAD ColaP[ TipoCP ][ x1«p1] [ x2«p2] .... [ xn«pn]{ inv: pi pk , i < k }Constructoras:inicColaP: ColaPModificadoras:adicColaP: ColaP x TipoCP x int ColaPelimColaP: ColaP ColaPAnalizadoras:infoColaP: ColaP TipoCPvaciaColaP: ColaP intDestructora:destruirColaP: ColaP Evanyeline Brito 11-1029
  19. 19. O La diferencia semántica está en que el elemento eliminado de la lista no es, necesariamente, el primero que fue añadido. Más bien, es el elemento de la cola que tiene la prioridad más alta. En la implementación de la Cola de Prioridad no se especifica ni qué son las prioridades ni cómo se comparan entre ellas. Depende de los elementos que haya en la cola.O Por ejemplo, si los elementos de la cola tienen nombres, podemos elegirlos en orden alfabético. Si son puntuaciones de bolos, podemos ir desde la más alta hasta la más baja, pero si son puntuaciones de golf, iríamos desde la más baja hasta la más alta. Mientras podamos comparar los elementos de la cola, podremos encontrar y eliminar el de mayor prioridad. Evanyeline Brito 11-1029
  20. 20. I .O Si se representa una cola con un vector, las rutinas que implementan las operaciones del TAD tienen la siguiente complejidad: inicCola O( 1 ) adicCola O( 1 ) elimCola O( N ) infoCola O( 1 ) vaciaCola O( 1 ) La ineficiencia en la operación que elimina un elemento (elimCola - O( n ) ) se debe a la necesidad de desplazar todos loselementos de la estructura, para ocupar el lugar liberado despuésde sacar el primero. Una posibilidad para evitar este movimientoes marcar los lugares dentro del arreglo donde comienza ytermina la cola. Evanyeline Brito 11-1029

×