Академический Документы
Профессиональный Документы
Культура Документы
DE MOQUEGUA
Tema:
Carrera:
Ing. De Minas
Ciclo:
1er. Ciclo
Curso:
Introduccin a la Programacin
Integrante:
Condori Aamuro Giancarlo
Moquegua Per
Caractersticas
Es un algoritmo que se construye utilizando las propiedades de los montculos
binarios.
El orden de ejecucin para el peor caso es O(Nlog(N)), siendo N el tamao de
la entrada.
Aunque tericamente es ms rpido que los algoritmos de ordenacin vistos
hasta aqu, en la prctica es ms lento que el algoritmo de ordenacin de Shell
utilizando la secuencia de incrementos de Sedgewick.
Definicin de un montculo
Decimos que un rbol binario satisface la condicin de montculo si cada
padre es mayor que sus hijos. A diferencia de los rboles binarios ordenados,
no hay ninguna condicin que relacione a los hijos de un mismo padre (ni
mucho menos a los de padres distintos). Finalmente, diremos que un rbol
binario es un montculo si satisface la condicin de montculo y, adems, es
un rbol binario completo, es decir, todos los niveles del rbol (excepto tal vez
el ltimo) estn repletos, y en el ltimo nivel todos los hijos estn acumulados
del mismo lado (digamos a la izquierda).
As, de los siguientes rboles binarios, el primero no satisface la condicin de
montculo, el segundo no es completo y el tercero s es un montculo.
Inicio
Leer
N
A
[ ]
For: i= N/2; i> =0;
I-Tmp = A [I]
HIJO = 2 * i
Si
Hijo ++
Hijo < N
A [hijo + 1] > A
[hijo]
No
Hijo < = N
Tmp < A
[hijo]
Hijo ++
A [i] A [hijo]
I hijo
Hijo 2 * i
A [i] tmp
For: i n 1; i >
0; i --Hijo < = i 1
^
Tmp
Hijo=<Ai [01]
Tmp
<A
0
]=
=+
i ]]A
AATmp
[[ hijo]
AA1
[[ 0>
[
hijo
]
AHijo
[ i [hijo]
]=
=2
tmp
*0
Tmp A [0]
A [0] A [i]
A [i] tmp
Tmp A [0]
Hijo 2*0
Si
Hijo< N
A [hijo + 1]
>A[hijo]
Hijo ++
No
Hijo < = i 1
^
Tmp < A
[hijo]
si
(Hijo < i 0) ^ A [hijo +1]
No
> A [hijo]
Hijo ++
A [0] A [hijo]
0 hijo
Hijo 2 * 0
A [0] tmp
I 0; i <
N; i ++
A [i]
Fin