Estructuras de Datos

Zona de descargas

Mapa del sitio

Aplicación de prueba

Level Double-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0

Valid XHTML 1.0!

Valid CSS!

Nedstat Basic - Web site estadísticas gratuito El contador para sitios web particulares

Qué son las colas de prioridad

Una cola de prioridad es una estructura de datos que permite al menos las siguientes dos operaciones: insertar, que añade elementos a la cola, y eliminar mínimo, que busca, devuelve y elimina el elemento mínimo de la cola.

La implantación de la cola de prioridad en la biblioteca de clases de DSTool se realiza mediante un montículo binario.

Para que una estructura sea un montículo binario debe cumplir dos propiedades:

Los árboles binarios completos son muy regulares, lo que permite que los montículos puedan ser representados mediante simples arrays sin necesidad de punteros. En una representación con arrays los hijos de un elemento colocado en la posición i estarían en las posiciones 2i y 2i+1 ( hijo izquierdo e hijo derecho respectivamente), y el padre en la posición E( i/2 ) (parte entera de i/2 ).

En el siguiente ejemplo:

Estructura de un montículo mostrado como un árbol. Recorrido en anchura: A, B, C, D, E, F
Estructura de un montículo mostrado como un array comenzando en la posición 1: A, B, C, D, E, F

En el árbol se puede apreciar claramente los hijos de B ( D y E) y su padre ( A). A través de la representación con un array se podría obtener la misma información:

Nodo B en la posición 2.

Hijo izquierdo: posición 2*2 = 4. Luego el hijo izquierdo es D.

Hijo derecho: posición 2*2+1 = 5. Luego el hijo derecho es E.

Padre: posición E( 2/2) = 0. Luego el padre es A.