04 febrero, 2015

COLA

Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.

UTILIZACIÓN

Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.
Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.




Las colas se utilizan en sistemas informáticos, transportes y operaciones de investigación (entre otros), dónde los objetos, personas o eventos son tomados como datos que se almacenan y se guardan mediante colas para su posterior procesamiento. Este tipo de estructura de datos abstracta se implementa en lenguajes orientados a objetos mediante clases, en forma de listas enlazadas.

TIPOS DE COLAS

Colas circulares (anillos): en las que el último elemento y el primero están unidos.

Colas de prioridad: En ellas, los elementos se atienden en el orden indicado por una prioridad asociada a cada uno. Si varios elementos tienen la misma prioridad, se atenderán de modo convencional según la posición que ocupen. Hay 2 formas de implementación:
Añadir un campo a cada nodo con su prioridad. Resulta conveniente mantener la cola ordenada por orden de prioridad.
Crear tantas colas como prioridades haya, y almacenar cada elemento en su cola.

Bicolas: son colas en donde los nodos se pueden añadir y quitar por ambos extremos; se les llama DEQUE (Double Ended QUEue). Para representar las bicolas lo podemos hacer con un array circular con Inicio y Fin que apunten a cada uno de los extremos. Hay variantes:

Bicolas de entrada restringida: Son aquellas donde la inserción sólo se hace por el final, aunque podemos eliminar al inicio ó al final.

Bicolas de salida restringida: Son aquellas donde sólo se elimina por el final, aunque se puede insertar al inicio y al final.

OPERACIONES BÁSICAS

Crear: se crea la cola vacía.

Encolar (añadir, entrar, insertar): se añade un elemento a la cola. Se añade al final de esta.

Desencolar (sacar, salir, eliminar): se elimina el elemento frontal de la cola, es decir, el primer elemento que entró.

Frente (consultar, front): se devuelve el elemento frontal de la cola, es decir, el primer elemento que entró.


COLAS EN PASCAL

  Clase PscColas, Matriz[]:Cadena, Posición, Valor:Entero
  Privado:
        Proc Comenzar
                ReDim Matriz,1
                Posición = 0
                Valor = 0
        FinProc
        Proc Terminar
                Borrar Matriz
        FinProc
        Proc Longitud:Entero
                Devolver Límite(Matriz)
        FinProc
        Proc ReDimencionarLaCola
                ReDim Preservar Matriz, LongMat(Matriz) + 1
        FinProc
  Público:
        Proc Encolar(Contenido:Cadena)
                Si Posición = LongMat(Matriz) Entonces ReDimencionarLaCola
                Matriz[Posición] = Contenido
                Posición = Posición + 1
        FinProc
        Proc DesEncolar
                Si Neg(Valor >= Límite(Matriz)) Entonces Valor = Valor + 1
        FinProc
        Proc FrenteCola:Cadena
                Devolver Matriz[Valor]
        FinProc
        Proc FondoCola:Cadena
                Devolver Matriz[Límite(Matriz)]
        FinProc
        Prop ColaLongitud:Entero
                Lec:Longitud
        FinProp
  Privado:
        Constructor: Comenzar
        Destructor: Terminar

  FinClase

20 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  2. Las colas, son herramientas muy utiles en el mundo de la programacion...

    Una cola trabaja tal como su nombre lo indica, como si fuera una cola de personas en un banco, el primero que llega es el primero en ser atendido, a este tipo de sistema se le llama FIFO (First in First out, Primero que entra es el primero que sale), al contrario de una pila, la cual es un sistema LIFO(Last in Firs out, el utimo que entra es el primero que sale).

    Una cola puede estar simple o doblemente encadenada, esta ultima se refiere a que podemos recorrerla bien sea desde el inicio hasta el fin o viceversa.

    ResponderBorrar
  3. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  4. Las colas también es una estructura de datos dinámica ya que el primer elemento que entre es el primero en salir. El tipo cola representa la idea que tenemos o mejor dicho que vivimos en la vida real, por ejemplo la cola para subir a un autobús que está compuesta de elementos que en este caso son (personas), que dispone de dos extremos que son el comienzo y final. Por el comienzo se extraerá un elemento en este caso una persona cuando haya pago el pasaje, y si llega una nueva persona con intención de subir al autobús, tendrá que colocarse al final y esperar que todas las demás personas suban o dejen la cola.

    ResponderBorrar
  5. Las colas, en mi opinion, son mas simples de entender que las pilas antes estudiadas,ya que a diferencia de estas, las colas consiste en ingresar un elemento por un extremo y este egrese por el otro extremo puesto que tienen la cualidad FIFO. Este tipo de estructura de datos se emplean constantemente en la vida diaria, ya sea en bancos, hospitales, terminales de pasajeros, entre otros lugares, para asi agilizar sus labores.

    ResponderBorrar
  6. Las Colas también se utilizan en muchas maneras en los sistemas operativos para planificar el uso de los distintos recursos de la computadora. Uno de estos recursos es la propia CPU (Unidad Central de Procesamiento).
    Si esta trabajando en una sistema multiusuario, cuando le dice a la computadora que ejecute un programa concreto, el sistema operativo añade su petición a su "cola de trabajo".
    Cuando su petición llega al frente de la cola, el programa solicitado pasa a ejecutarse. Igualmente, las colas se utilizan para asignar tiempo a los distintos usuarios de los dispositivos de entrada/salida (E/S), impresoras, discos, cintas y demás. El sistema operativo mantiene colas para peticiones de imprimir, leer o escribir en cada uno de estos dispositivos.

    ResponderBorrar
  7. Las colas han resultado ser una estructura de de datos muy importantes en nuestra vida cotidiana, ya que se usan para almacenar datos que necesitan ser procesados según el orden de llegada, unos de los ejemplos seria: la cola de un cine, la cola de un banco, entre otras actividades realizadas a diario, y en el cual hay que tener en cuenta que en todas ellas el primero que llega es el primero que sale.

    ResponderBorrar
  8. Existen varios tipos de colas como por ejemplo:

    Colas de prioridad: En ellas, los elementos se atienden en el orden indicado por una prioridad asociada a cada uno. Si varios elementos tienen la misma prioridad, se atenderán de modo convencional según la posición que ocupen.
    Bicolas: son colas en donde los nodos se pueden añadir y quitar por ambos extremos; se les llama DEQUE (Double Ended QUEue). Para representar las bicolas lo podemos hacer con un array circular con Ini y Fin que apunten a cada uno de los extremos. Hay variantes:
    o Bicolas de entrada restringida: Son aquellas donde la inserción sólo se hace por el final, aunque podemos eliminar al principio ó al final.
    o Bicolas de salida restringida: Son aquellas donde sólo se elimina por el final, aunque se puede insertar al principio y al final.

    ResponderBorrar
  9. Cola: Son aquellas que solo tiene 2 operaciones, Push(Inserción) y Pop(Eliminación). Push solo se puede efectuar por un extremo llamado Frente y Pop por el extremo Llamado Final. Sin Embargo se le pueden aplicar todas las operación al igual que a las listas.

    ResponderBorrar
  10. también tenemos que tener en cuenta que hay dos tipos de colas de prioridad:

    Colas de prioridad con ordenamiento ascendente: en ellas los elementos se insertan de forma arbitraria, pero a la hora de extraerlos, se extrae el elemento de menor prioridad.

    Colas de prioridad con ordenamiento descendente: son iguales que las colas de prioridad con ordenamiento ascendente, pero al extraer el elemento se extrae el de mayor prioridad.

    Operaciones de las colas de prioridad (en cada una de estas operaciones, P se supone que es una cola de prioridad arbitraria):
    a. Insertar (P, x), añade el elemento x a P.
    b. Encontrar_Min (P), devuelve elemento de P con la prioridad más alta (menor valor de clave). Si P está vacía esta operación produce un error.
    c. Eliminar_Min (P), quita y devuelve el elemento de P con la prioridad más alta (menor valor de clave). Si P está vacía esta operación produce un error.

    ResponderBorrar
  11. también tenemos que tener en cuenta que hay dos tipos de colas de prioridad:

    Colas de prioridad con ordenamiento ascendente: en ellas los elementos se insertan de forma arbitraria, pero a la hora de extraerlos, se extrae el elemento de menor prioridad.

    Colas de prioridad con ordenamiento descendente: son iguales que las colas de prioridad con ordenamiento ascendente, pero al extraer el elemento se extrae el de mayor prioridad.

    Operaciones de las colas de prioridad (en cada una de estas operaciones, P se supone que es una cola de prioridad arbitraria):
    a. Insertar (P, x), añade el elemento x a P.
    b. Encontrar_Min (P), devuelve elemento de P con la prioridad más alta (menor valor de clave). Si P está vacía esta operación produce un error.
    c. Eliminar_Min (P), quita y devuelve el elemento de P con la prioridad más alta (menor valor de clave). Si P está vacía esta operación produce un error.

    ResponderBorrar
  12. Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.
    También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. El tipo cola representa la idea que tenemos de cola en la vida real. La cola para subir al autobús está compuesta de elementos (personas), que dispone de dos extremos comienzo y fin. Por el comienzo se extraerá un elemento cuando haya comprado el billete para su viaje, y si llega una nueva persona con intención de usar el autobús, tendrá que colocarse al final y esperar que todos los elementos situados antes que él abandonen la cola.

    ResponderBorrar
  13. Una cola es una estructura de datos, caracterizada por ser una secuencia de elementos en la que la operación de inserción push se realiza por un extremo y la operación de extracción pop por el otro. También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir.
    También se le llama estructura FIFO (del inglés First In First Out), debido a que el primer elemento en entrar será también el primero en salir. El tipo cola representa la idea que tenemos de cola en la vida real. La cola para subir al autobús está compuesta de elementos (personas), que dispone de dos extremos comienzo y fin. Por el comienzo se extraerá un elemento cuando haya comprado el billete para su viaje, y si llega una nueva persona con intención de usar el autobús, tendrá que colocarse al final y esperar que todos los elementos situados antes que él abandonen la cola.

    ResponderBorrar
  14. Estefany De La Torre11 marzo, 2015

    Para mi una cola, también denominada sistema primero-dentro primero-fuera (FIFO),es decir, el primer elemento en entrar a la cola es el primero en salir. Ademas se considera que es una lista lineal en la cual las extracciones se realizan siempre por un extremo llamado frente y las inserciones por el extremo contrario de la lista.

    ResponderBorrar
  15. Una cola es una colección de elementos homogéneos (almacenados en dicha estructura), en la misma se pueden insertar elementos por uno de los extremos, llamado frente, y retirar los mismos por el otro extremo, denominado final.Por esta razón la cola es denominada una estructura F.I.F.O., o simplemente una lista F.I.F.O., esto representa el acrónimo de las palabras inglesas “first in, first out” (primero en entrar, primero en salir)

    ResponderBorrar
  16. Cola: es una estructura de datos caracterizada por su secuencia de elementos, ya que solo se puede eliminar desde el principio y añadir desde el final de la misma. Existen tres tipos de colas las cuales son: colas circulares: en donde el primer y el último elemento están unidos, colas de prioridad: es donde los elementos se entienden por una prioridad asociada a cada uno y bicolas: en donde los nodos se pueden añadir y eliminar por ambos extremos

    ResponderBorrar
  17. Se entiende claramente que una Cola es como un bucle que que trabaja con una secuencia; el primer elemento en entrar es el primero en salir. Las colas tienen 4 operaciones basicas que son: Crear, encolar, desencolar y frente. en este caso hago referencia a las pantallas realixadas en programacion, algunas de ellas poseen estas operaciones basicas ya que Insertaban, eliminaban y hacian consultas y los elementos insertados se reflejaban en tal orden como fueron agregados. Por Otra Parte las colas son una herrramienta importante en el mundo de la informatica y la programacion, ya que muchas aplicacion cuentas con las mismas caracteristicas de una cola entre otros.

    Segun la informacion del blog, hay tres tipos de colas que son: colas circulares, colas de prioridad y bicolas las cuales tienen diferentes tareas.

    Las colas circulares trabajan de una esta forma; en una secuencia el primer elemento introducido esta junto con el ultimo elemento, podemos utilizar la logica de los CIRCULOS para entender un poco esta cola.

    Las colas de prioridad; es donde los nodos se almacenan segun su Prioridad o tipo.

    Las Bicolas: son colas donde se pueden introducir elemntos por ambos extremos

    Un Ejemplo de la visa cotidiana seria una Cola de personas en mercal, una peluqueria o estacion de servicio entre otros.

    ResponderBorrar
  18. Colas: Es una estructura lineal de datos. Una cola es un grupo ordenado de elementos homogéneos en el que los nuevos elementos se añaden por un extremo (el final) y se quitan por el otro extremo (el frente). En las colas el elemento que entró primero sale también primero, por ello se las llama como listas FIFO (first ? in, first ? out) "primero en entrar, primero en salir".

    La diferencia con las pilas es en el modo de entrada / salida de datos; en las colas se realizan las inserciones al final de la lista, no al principio.

    Por eso, se usan para almacenar datos que necesitan ser procesados según el orden de llegada.

    C= C (1), C(2), ......., C(N)

    Las eliminaciones se realizan al principio de la lista frente (front), y las inserciones se realizan en el otro extremo final (rear).

    ResponderBorrar