Motivos para ordenar una pila y una cola?

Iniciado por milx86, 14 Marzo 2014, 18:45 PM

0 Miembros y 1 Visitante están viendo este tema.

milx86

Hola a todos, espero esten bien.
Bueno, estoy estudiando estructura de datos y llegue al tema de pilas y colas.

Entonces pense: " :huh: ya aprendi a apilar, desapilar y eliminar una pila. y si quiero ordenarla?"
estuve googleando un poco y encontre a gente que decia que ordenar una pila no tenia sentido, pues ya no se cumpliria la politica LIFO, asi que lo deje ...(1)

Pasando al tema de colas llegue a la misma incognita:"Debere aprender a ordenar una cola?",
aqui ya empeze a dudar ya que si bien es cierto que en una cola el primero en ser atendido. que pasaria si quiero atender a alguien segun un "criterio" como en la vida real que aunque haya una cola a veces se les atiende primero a los mas viejitos :3 por lo que deberia reordenar la cola por edad(en este caso)...(2)
Segui buscando y encontre que para hacer eso, ya existian un tipo de colas : las cola de prioridades.

Quiza no tenga sentido ordenar una pila o una cola ó quiza deba hacerlo solo para practicar  :D
pero para hacerlo necesito un poco de motivación para empezar, asi que necesito su ayuda.

Podrian decirme si existen aplicaciones reales y utiles por el cual deberia ordenar una pila y una cola?

Gracias por su tiempo.

La abstracción es la clave para lidiar con la complejidad.

ivancea96

Bueno, todo dependerá del programa. Por ejemplo, en una pila de baraja de cartas, tengo el método barajar. No es lo mismo, pero bueno jaja

Gh057

#2
exacto ese es un buen ejemplo. bueno se ordena aleatoriamente, tiene un orden, no  ;D

también puedes hacer la analogía de una cola en un centro de atención al cliente; si bien hay un "orden" de emisión de ticket, en vez de hacer por números de emisión como si fuera un trámite público puedes hacerlo como hay en algunos lados con letras y números dependiendo el problema; por lo cual es probable que alguien que haya llegado "después" (esté más arriba de la pila, o atrás en la cola) pueda ser atendido antes... aunque puede usarse un token de ida y vuelta dependiendo la solicitud también, pero no sería muy eficiente, seguramente irás ordenando las solicitudes en otras colas...

mmm... otra implementación podría ser, pedidos de piezas... depende la demanda de x producto como deberían salir; un local de comida rápida... no se me ocurre otro ejemplo por ahora jaja

(agrego) parciales de un alumno? un típico ejercicio en donde se comienzan a implementar las estructuras, si se elabora con pilas, podrías luego dependiendo la búsqueda ordenar la misma por valor de notas, etc...

pienso que todo depende de como encares la solución a un problema.

saludos.
4 d0nd3 1r4 3l gh057? l4 r3d 3s 74n v4s74 3 1nf1n1t4...

milx86

Gracias a los dos, justo lo que quería. Saber que cosas podré ser capaz de hacer luego de aprender estos temas. Eso ayuda como motivación para no solo aprenderlo por obligación   :D

Quizá no tenga nada que ver pero cuando recien estaba viendo colas simples, se me vino a la mente el protocolo UDP, en el que los datagramas se reciben tal y como llegan. Y en el TCP los segmentos al llegar se ensamblan teniendo en cuenta el numero de secuencua (en orden), por eso creía que de cierto modo, las colas si se debían poder ordenar xD

Gracias nuevamente.
La abstracción es la clave para lidiar con la complejidad.