2. Árbol Binario
Conjunto finito de nodos el
cual puede ser vacío o tener
un par de árboles llamados
izquierdo y derecho.
Cuando un nodo no tiene
hijos se le llama hoja o nodo
terminal.
Árbol Binario Completo
Es aquel que en todos los nodos, solo
tienen 2 o cero descendientes.
3. ¿Qué es un Head?
Este head o montículo es un árbol binario donde
todos los padres son mayores que sus hijos.
Este árbol binario tiene que ser completo, es decir,
que debe tener todos sus niveles llenos, excepto el
ultimo y en este ultimo nivel todos los hijos esta a un
mismo lado ( por ejemplo a la izquierda).
4. ¿Qué es Heap Sort?
Es un algoritmo de
ordenación basado en
comparaciones de
elementos que utiliza un
heap para ordenarlos.
También podemos decir
que es un algoritmo de
ordenación no recursivo,
no estable , con
complejidad
computacional.
5. ¿Cómo Funciona Heap Sort?
Este algoritmo consiste en almacenar todos los
elementos del vector a ordenar en un montículo y
luego extraer el nodo que queda como raíz en
sucesivas iteraciones obteniendo el conjunto
ordenado. basa su funcionamiento en una propiedad
de los montículos, por la cual, la cima siempre
(depende de como se defina) contendrá el mayor o
menor elemento del montículo.
6. Ventajas y Desventajas
VENTAJAS DESVENTAJAS
- La principal ventaja es que este
método funciona mas - No es estable, ya que se
efectivamente con datos comporta de manera ineficaz
desordenados. con datos del mismo valor.
- Su desempeño es en promedio - Método mas complejo
tan bueno como el Quicksort y
se comporta mejor que este
último en los peores casos.
- No utiliza memoria adicional.
7. Características Heap Sort
El árbol se llena de izquierda a derecha, lo que
implica que si algún (os) nodo (s) no está (n) en el
mismo nivel que el resto, éste (os) estará (n) entonces
lo más a la izquierda posible del árbol.
El orden de ejecución para el peor caso es
O(N·log(N)), siendo N el tamaño de la
8. Algoritmo Lógico
º1
1. Se construye el montículo inicial a partir del arreglo original.
2. Se intercambia la raíz con el ultimo elemento del montículo.
3. El ultimo elemento queda ordenado.
4. El ultimo elemento se saca del montículo, no del arreglo.
5. Se restaura el montículo haciendo que el primer elemento baje a la
posición que le corresponde, si sus hijos son menores.
6. La raíz vuelve a ser el mayor del montículo.
7. Se repite el paso 2 hasta que quede un solo elemento en el montículo.
12. COMPARACION ALGORITMOS DE ORDENAMIENTO
ORDENAMIENTO VENTAJAS DESVENTAJAS ESTABILIDAD
ALGORITMO Fácil de implementar Muy lento No intercambia registros con
BURBUJA No requiere memoria adicional Muchas comparaciones claves iguales
Muchos intercambios
ALGORITMO
INSERCIÓN
ALGORITMO DE
Fácil implementación
Requerimientos mínimos de memoria
Fácil de implementar
Lento
Numerosas comparaciones
Lento
No intercambia registros con
claves iguales. Por lo tanto es
estable
Puede que haya algo de
SELECCIÓN No requiere memoria adicional Realiza numerosas discrepancia pero esta
Realiza pocos intercambios comparaciones implementación parece ser
Rendimiento constante: poca diferencia entre el peor estable, puede verificar esto
y el mejor caso ordenando un conjunto de
datos que tenga un par de
ellos con la misma clave, el
orden relativo entre ellos es
conservado, pero algunos
autores dicen que no es
estable.
ALGORITMO Relativamente fácil de implementar. Realiza numerosas Es inestable no mantiene el
SHAKE No requiere memoria adicional comparaciones. orden relativo de los
Realiza numerosos registros.
intercambios.
ALGORITMO No requiere memoria adicional. Es inestable no mantiene el Es inestable no mantiene el
SHELL Mejor rendimiento que el método de Inserción orden relativo de los orden relativo de los
clásico registros. registros.
QUICK SORT Muy rápido Método mas complejo
No requiere memoria adicional. Implementación un poco
más complicada
HEAP SORT Su desempeño es en promedio tan bueno como el Método mas complejo
Quicksort y se comporta mejor que este último en los
peores casos.