Índice
|
|
Introducción
|
|
Definicion de cola en
estructura de datos
|
|
Aplicacion de las colas en estructuras de datos
|
|
Operaciones Básicas y
auxiliares de las “colas” en estructura de datos
|
|
Representación de las
“colas” en estructura de datos
|
|
TIPOS DE COLAS EN
ESTRUCTURA DE DATOS
|
|
1.COLA CIRCULAR O ANILLO
|
|
2. DOBLE COLA (BICOLA)
|
|
Conclusión
|
|
INTRODUCCION
En
este tema se abordara y se explicara de que consiste la cola en estructura de
datos, definiéndola, mostrando sus características y la utilidad que tienen al
dia a dia.
Tambien
se darán ejemplos para que el tema quede mejor expuesto, se habla también sobre
los tipos de colas que hay.
Definicion de cola en estructura de datos
A la cola se le considera un primo cercano de la pila. La cola puede
definirse como un contenedor de datos que funciona de acuerdo al principio FIFO
(First Input First Output) porque el primer elemento que entra a la cola es el
primero que sale. En una cola los datos entran por un extremo llamado final
(rear) y se insertan por el otro extremo llamado frente (front). Una buena
analogía de esta estructura de datos es un grupo de personas esperando en línea
para entrar al cine
La particularidad de una estructura de datos de cola es el hecho de que
sólo podemos acceder al primer y al último elemento de la estructura. Así
mismo, los elementos sólo se pueden eliminar por el principio y sólo se pueden
añadir por el final de la cola.
Ejemplos de colas en la vida real serían: personas comprando en un
supermercado, esperando para entrar a ver un partido de béisbol, esperando en
el cine para ver una película, una pequeña peluquería, etc. La idea esencial es
que son todos líneas de espera.
Aplicaciones de las colas.
Esta estructura de datos se usa en muchos sistemas operativos, por
ejemplo Unix, para llevar el control de la ejecución de procesos, cada proceso
en el sistema es almacenado en una lista y esta se va recorriendo, dándole un
pequeño tiempo del microprocesador a cada proceso, durante la fracción de
segundo de cada proceso este asume que tiene el control total del procesador.
Operaciones con colas
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ó.
Otras mas son
Operaciones Básicas
Insertar. Agregar un
elemento al final de la cola
Remover. Remover el
primer elemento de la cola.
Operaciones
Auxiliares
Llena: Regresa
verdadero cuando la cola esta llena.
Vacía: Regresa
verdadero cuando la cola esta llena.
Implementacion de colas en java
import
java.io.*;
import
java.lang.*;
class
ColaEstatica
{
int frente, fin, capacidad;
private int elementos[];
public ColaEstatica(int cap) {capacidad=cap;
elementos=new int[capacidad]; frente=-1; fin=0;}
public boolean vacia() {return (fin==0) ? true
: false;}
public boolean llena() {return (fin==capacidad)?
true : false;}
public void insertar(int objeto){
try { if (!llena()) {elementos[fin]=objeto;
fin++; }
else{ System.out.println("Pila
Llena"); new Teclado().espera(); }
}
catch
(java.lang.ArrayIndexOutOfBoundsException Error) { System.out.println("Desborde
de Cola"); }
}
public int remover() { int x=elementos[0];
for(int i=0; i<fin-1;i++)
elementos[i]=elementos[i+1];
fin--;
return(x);
}
}
public class pruebaColaEstatica{
public static void main(String arg[]) throws
IOException{
ColaEstatica cola=new ColaEstatica(5);
int obj1,opcion;
Integer cadena=new Integer(0);
Teclado keyboard = new Teclado();
do{
Teclado.clrscr();
System.out.println("1) Insertar
dato");
System.out.println("2) Remover
dato");
System.out.println("3) Fin de
Programa");
System.out.println("Opcion: ");
opcion=cadena.parseInt(keyboard.leer() );
switch(opcion)
{ case 1: if (!cola.llena()
){System.out.println("Escribe un numero: ");
cola.insertar(cadena.parseInt(keyboard.leer())
);
}
else{ System.out.println("Cola
Llena");
keyboard.espera();
}
break;
case 2:if (!cola.vacia())
System.out.println("Dato sacado " +
cola.remover() );
else
System.out.println("Cola Vacia");
keyboard.espera();
break;
case 3: break;
}
} while(opcion!=3);
}
}
TIPOS DE COLAS EN
ESTRUCTURA DE DATOS
COLA CIRCULAR O ANILLO:
Una cola circular o anillo es una
estructura de datos en la que los elementos están de forma circular y cada elemento
tiene un sucesor y un predecesor. Los elementos pueden consultarse, añadirse y
eliminarse únicamente desde la cabeza del anillo que es una posición
distinguida. Esta avanza en el sentido de las agujas del reloj. En la figura
mostrada muestra una cola circular con un solo dato almacenado. La variable
“final” es la posición en donde se hizo la última inserción. Después que se ha
producido una inserción, final se mueve circularmente a la derecha.
DOBLE COLA (BICOLA)
Es un tipo de cola especial que permiten la inserción y
eliminación de elementos de ambos extremos de la cola. Puede representarse a
partir de un vector y dos índices, siendo su representación más frecuente una
lista circular doblemente enlazada. Todas las operaciones de este tipo de datos
tienen coste constante. Existen dos tipos de la doble cola: · Doble cola de
entrada restringida: acepta inserciones solo al final de la cola. · Doble cola
de salida restringida: acepta eliminaciones solo al frente de la cola.
Llegue a la conclusión de que las colas pueden llegar a
ser muy útiles en la organización de la información pero no tanto a la manera
de querer ingresar nuevos datos es ahí entonces donde presentan un gran
problema ya que solo aceptan información al final o inicio de la cola no al
intermedio.
No hay comentarios.:
Publicar un comentario