You are on page 1of 14

MONTCULOS

INTEGRANTES

Ziga Rojas, Jorge Antonio
Definicin
Un montculo es una estructura de datos del tipo rbol con informacin
perteneciente a un conjunto ordenado.
Propiedades
Estructural
Es un rbol binario completo esto significa que
todos sus niveles estn llenos a excepcin del
ultimo nivel, pero en este caso los nodos estn
lo ms a la izquierda posible.
Orden
Los montculos mximos, el valor nodo de
padre tiene un valor mayor que el de su hijos.
Los montculos mnimos, el valor del nodo
padre es siempre menor al de sus nodos hijos.

OPERACIONES
Las operaciones ms importantes o bsicas en un montculo son la de
insercin y la de eliminacin de uno o varios elementos.
INSERCIN EN UN MONTCULO
Se inserta un nuevo elemento al final del montculo (primera posicin libre)
Si se mantiene la propiedad de orden del montculo no hay que hacer ninguna operacin.
Si no se mantiene la propiedad de orden del montculo hay que restaurarla.
Se restaura la propiedad de del montculo intercambiando el nuevo elemento con su padre
cuantas veces sea necesario, a esta operacin de subir en el montculo se la denomina flotar
un elemento.
El nuevo elemento sube en el montculo (flota) y sus padres bajan en el montculo (se
hunden)
A la operacin de bajar en un montculo se la denomina hundir
INSERCIN EN UN MONTCULO
REMOCIN DE LA RAZ DE UN MONTCULO
El procedimiento extrae el mximo elemento de un montculo
a. Reemplaza raz por el ltimo nodo del ltimo nivel.
b. Comparar la nueva raz con sus dos hijos.
c. Si es menor, intercambiar con el mayor.
d. Repetir hasta que se cumpla la propiedad del montculo.
REMOCIN DE LA RAZ DE UN MONTCULO
1- Reemplaza
raz por el
ltimo nodo del
ltimo nivel.
2- Comparar la nueva
raz con sus dos hijos.
3- Si es menor,
intercambiar
con el mayor.
El procedimiento extrae
el mximo elemento de
un montculo


Repetir hasta que se
cumpla la propiedad de
orden del montculo.



REMOCIN DE LA RAZ DE UN MONTCULO
ORDENAMIENTO POR MONTCULOS
Consiste en almacenar todos los
elementos del vector en un
montculo.
Luego extraer nodo raz del
montculo (cima) en sucesivas
iteraciones obteniendo el
conjunto ordenado.
ORDENAMIENTO POR MONTCULOS
Representacin de un Montculo como un vector.
Posicin del Padre(i) = (MaximaPosision-1)/2
Posicin Hijo Izquierdo = i*2 + 1
Posicin Hijo Derecho = i*2 + 2


ORDENAMIENTO POR MONTCULOS
Basa su funcionamiento en una propiedad de los montculos, por la cual, la cima
contiene siempre el mayor elemento.
El algoritmo, despus de cada extraccin, recoloca en el nodo raz o cima, la ltima
hoja por la derecha del ltimo nivel. Lo cual destruye la propiedad del montculo.
Pero, a continuacin realiza un proceso de "descenso" del nmero insertado de
forma que se elige a cada movimiento el mayor de sus dos hijos, con el que se
intercambia. Este intercambio, realizado sucesivamente "hunde" el nodo en el
rbol restaurando la propiedad montculo del rbol y dejando paso a la siguiente
extraccin del nodo raz.
ORDENAMIENTO POR MONTCULOS
APLICACIONES
Los montculos tienen importancia en aplicaciones que utilicen el modelo de
cola de prioridad en la que se deben de ir obteniendo los elementos en base
a un determinado orden.
Cola de prioridad de pacientes de un hospital.
Cola de prioridad de trabajos por entregar.
Entendiendo como prioridad como un valor numrico y asignando a altas
prioridades valores pequeos.

You might also like