heapsort

Post on 05-Jul-2015

153 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Análisis de Algoritmos“HeapSort”

Pablo Rojas, Jonathan Higuera, Néstor Díaz, Danilo HenríquezProfesora Pilar Pardo

05/06/2014

• ¿Qué es un HeapSort?

• El termino “Heap” o montículo es un árbol Binariodonde todos los padres son mayores que su hijos.

• Un HeapSort es un algoritmo de ordenamiento queutiliza un “Heap” para ordenarlos.

• Un árbol es una estructura de datos o conjuntofinito el cual puede ser vacío o tener un par dearboles llamados izquierdo y derecho.

• Cuando un nodo no tiene hijos se le denomina“hojas” o “nodo terminal”.

Arboles Binarios

Podemos decir que es un algoritmo de ordenamiento norecursivo, no estable y con complejidad computacional.

Para representar los enlaces con los hijos se utilizan punteros.

El árbol vacío se representará con un puntero nulo.

Un árbol es una estructura no secuencial.

• Este algoritmo consiste en almacenar todos los elementos delvector a ordenar en un montículo y luego extraer el nodo quequeda como raíz en sucesivas iteraciones obteniendo elconjunto ordenado. Su funcionamiento se basa en unapropiedad de los montículos, por la cual la cima siempre(depende de como se defina) contendrá el mayor o menorelemento del montículo.

Funcionamiento

• Mejor Caso: 0(n)

• Caso Promedio: 0(n^2)

• Peor Caso: 0(N log (N))

La principal ventaja es que funciona mas efectivamente con datos desordenados.

Su desempeño es en promedio tan bueno como el quicksort y se comporta mejor que este ultimo en los peores casos.

No utiliza memoria adicional

No es estable, ya que se comporta de manera muy ineficaz con datos del mismo valor.

Es un método muy complejo.

• En base a la figura anterior el recorrido Pre-orden actuaria de la siguiente forma:2, 7, 2, 6, 5, 11, 5, 9 y 4.

En este tipo de recorrido se realiza cierta acciónsobre el nodo actual y posteriormente se trata elsubárbol izquierdo y cuando se haya concluido, elsubárbol derecho. Otra forma para entender elrecorrido con este método seria seguir el orden:nodo raíz, nodo izquierda, nodo derecha.

• En base a la figura anterior el recorrido Post-orden actuaria de la siguiente forma:2, 5, 11, 6, 7, 4, 9, 5 y 2.

El recorrido “post-orden” lo recorre de la siguientemanera, viaje a través del árbol binario desplegando elcontenido en el nodo izquierdo después la raíz yfinalmente viaja a través del nodo derecho.otra forma para entender el recorrido con este métodoseria seguir el orden: nodo izquierda, nodo derecha,nodo raíz.

En base a la figura anterior el recorrido In-orden actuaria de la siguiente forma:2, 7, 5, 6, 11, 2, 5, 4, 9.

El Recorrido “In-Orden” lo recorre de la siguientemanera, viaje a través del Árbol Binariodesplegando el Contenido en el Nodo Izquierdodespués el Nodo Derecho y finalmente viaja através de la Raíz. Otra forma para entender elrecorrido con este método seria seguir el orden:nodo izquierda, nodo raíz, nodo derecha.

Gracias Por Su Atención

top related