Академический Документы
Профессиональный Документы
Культура Документы
Clase 18
Pilas y Colas
¿Qué es Pila/Stack?
Según Wikipedia
“Es una lista ordenada o estructura de datos en la que el modo de acceso a sus elementos es de
tipo LIFO”.
Gráficamente
Es un objeto con:
Uno o más atributos (sus elementos)
Un atributo adicional: Un puntero hacia “abajo” ---- ¿Por qué?
Para construirlo:
Los atributos guardan los elementos del nodo.
El puntero abajo deben ser NULO
Métodos:
Solo nos interesa rescatar el dato, por ende, tiene solo un “get”
No tiene un “set” elemento ya que eso irá, por añadidura, en la
inserción de un nuevo nodo a una lista.
¡Programemos el Nodo!
Pilas - Stacks
Es un objeto con
Un solo nodo centinela o etiqueta: Elemento al tope.
Para construirla
Toda Pila parte vacía, por ende, su nodo “Tope” debe ser vacío. En Python se utiliza la palabra
reservada “None”
¡Programemos la Pila!
Colas - Queues
Según Wikipedia
“Es una lista ordenada o estructura de datos en la que el modo de acceso a sus elementos es de
tipo FIFO”.
Gráficamente
Colas - Queues
Es un objeto con:
Uno o más atributos (sus elementos)
Un atributo adicional: Un puntero hacia “atrás” ---- ¿Por qué?
Para construirlo:
Los atributos guardan los elementos del nodo.
El puntero abajo deben ser NULO
Métodos:
Solo nos interesa rescatar el dato, por ende, tiene solo un “get”
No tiene un “set” elemento ya que eso irá, por añadidura, en la
inserción de un nuevo nodo a una lista.
¡Programemos el Nodo!
Colas - Queues
Es un objeto con
Dos nodos centinela o etiquetas: Elemento primero y elemento último.
Para construirla
Toda Cola parte vacía, por ende, su nodo “primero” y su nodo “último” deben ser vacíos. En
Python se utiliza la palabra reservada “None”
¡Programemos la Cola!
Actividad Propuesta
Copie todos los programas de esta clase y ejecútelos para estudiar su funcionamiento.
Deberá crear un Main para cada tipo de estructura vista este día.
Cree un método llamado printAndPop que le permita imprimir el contenido del nodo al tope,
sacarlo de la pila y luego continuar con el siguiente hasta dejar la pila vacía.
Cree un método llamado printAndDequeue que le permita imprimir el contenido del nodo al
inicio, sacarlo de la cola y luego continuar con el siguiente hasta dejar la cola vacía.