SlideShare una empresa de Scribd logo
1 de 12
Heap Sort
Algoritmo de Ordenamiento
INTEGRANTES.
• SERGIO ORMEÑO
• JONATHAN GARCIA
• EDUARDO LEIVA
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
Árbol Binario Completo
Es aquel que en todos los nodos, solo tienen 2 o
cero descendientes.
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).
¿Qué es un Head?
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.
¿Qué es 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.
¿Cómo Funciona Heap Sort?
VENTAJAS
- La principal ventaja es que este
método funciona mas
efectivamente con datos
desordenados.
- Su desempeño es en promedio
tan bueno como el Quicksort y se
comporta mejor que este último
en los peores casos.
- No utiliza memoria adicional.
DESVENTAJAS
- No es estable, ya que se comporta
de manera ineficaz con datos del
mismo valor.
- Método mas complejo
Ventajas y Desventajas
Características Heap Sort
No recursivo:
Porque no usa métodos que se llamen a sí mismos, sino que usa sucesivas iteraciones
para obtener el conjunto de nodos ordenados.
No estable
Ya que se comporta de manera poco eficaz con datos del mismo valor.
Con complejidad O(n log n).
Funcionamiento:
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)).
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.
Algoritmo Lógico
º1
20 10 11 8 19 2 15 12 33 73
Ejemplo Algoritmo Heap Sort
Ordenación por montículos – Heap Sort
Ordenación por montículos – Heap Sort
Algoritmo Heap Sort

Más contenido relacionado

La actualidad más candente

Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de DatosDARKGIRL93
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : ColaEmerson Garay
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discretaJunior Soto
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesAngel Vázquez Patiño
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosAngel Vázquez Patiño
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaJosé Antonio Sandoval Acosta
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)edopaz
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+neltherdaza
 

La actualidad más candente (20)

Heap sort
Heap sortHeap sort
Heap sort
 
Arboles En Estructura de Datos
Arboles En Estructura de DatosArboles En Estructura de Datos
Arboles En Estructura de Datos
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Árboles Multicamino, B y B+
Árboles Multicamino, B y B+Árboles Multicamino, B y B+
Árboles Multicamino, B y B+
 
Arboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de BusquedaArboles Binarios y Arboles Binarios de Busqueda
Arboles Binarios y Arboles Binarios de Busqueda
 
Estructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no linealesEstructura de Datos - Estructuras no lineales
Estructura de Datos - Estructuras no lineales
 
Estructura de datos : Cola
Estructura de datos : ColaEstructura de datos : Cola
Estructura de datos : Cola
 
Arboles mate discreta
Arboles mate discretaArboles mate discreta
Arboles mate discreta
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Programación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operacionesProgramación 3: Grafos, representación y operaciones
Programación 3: Grafos, representación y operaciones
 
Programación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenadosProgramación 3: árboles binarios y ordenados
Programación 3: árboles binarios y ordenados
 
Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4Arboles M-Way, 2-3 y 2-3-4
Arboles M-Way, 2-3 y 2-3-4
 
Tipos De Datos Abstractos Colas
Tipos De Datos Abstractos ColasTipos De Datos Abstractos Colas
Tipos De Datos Abstractos Colas
 
Estructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de BúsquedaEstructura de Datos - Unidad VI: Métodos de Búsqueda
Estructura de Datos - Unidad VI: Métodos de Búsqueda
 
Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Arboles B y Arboles B+
Arboles B y Arboles B+Arboles B y Arboles B+
Arboles B y Arboles B+
 
COLAS
COLASCOLAS
COLAS
 
Listas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de DatosListas,pilas y colas Estructura de Datos
Listas,pilas y colas Estructura de Datos
 
Método de Heapsort
Método de HeapsortMétodo de Heapsort
Método de Heapsort
 

Similar a Algoritmo Heap Sort

DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfmichaelsilva2k20
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4lenithoz
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Rubi Veronica Chimal Cuxin
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datosRené Sosa Arana
 
Arbol en programación ALAN MENDEZ.pdf
Arbol en programación ALAN MENDEZ.pdfArbol en programación ALAN MENDEZ.pdf
Arbol en programación ALAN MENDEZ.pdfGabriel Mendez
 
Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5pootalex
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdfdciutsucre
 
Presentación Árbol Binario
Presentación Árbol BinarioPresentación Árbol Binario
Presentación Árbol BinarioFernando Solis
 
Unidad 4 estructuras no lineales
Unidad 4 estructuras no linealesUnidad 4 estructuras no lineales
Unidad 4 estructuras no linealesUrban Skate House
 
Guia Estructura de Datos
Guia Estructura de DatosGuia Estructura de Datos
Guia Estructura de Datosepluis2007
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructurasVana Cigarroa
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructurasVana Cigarroa
 

Similar a Algoritmo Heap Sort (20)

Heap sort
Heap sortHeap sort
Heap sort
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdf
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Árboles binarios, ABB y AVL
Árboles binarios, ABB y AVLÁrboles binarios, ABB y AVL
Árboles binarios, ABB y AVL
 
Estructura de dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
 
Heap sort
Heap sortHeap sort
Heap sort
 
Heapsort
HeapsortHeapsort
Heapsort
 
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
Informe técnico Unidad 4 Estructuras no lineales (Rubí Verónica)
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datos
 
Arbol en programación ALAN MENDEZ.pdf
Arbol en programación ALAN MENDEZ.pdfArbol en programación ALAN MENDEZ.pdf
Arbol en programación ALAN MENDEZ.pdf
 
Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5Estructura de datos unidad 4 y 5
Estructura de datos unidad 4 y 5
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdf
 
Arboles ej
Arboles ejArboles ej
Arboles ej
 
Presentación Árbol Binario
Presentación Árbol BinarioPresentación Árbol Binario
Presentación Árbol Binario
 
Unidad 4 estructuras no lineales
Unidad 4 estructuras no linealesUnidad 4 estructuras no lineales
Unidad 4 estructuras no lineales
 
Arboles
Arboles Arboles
Arboles
 
Guia Estructura de Datos
Guia Estructura de DatosGuia Estructura de Datos
Guia Estructura de Datos
 
Algoritmo por seleccion
Algoritmo por seleccionAlgoritmo por seleccion
Algoritmo por seleccion
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 
Para leer estructuras
Para leer estructurasPara leer estructuras
Para leer estructuras
 

Algoritmo Heap Sort

  • 1. Heap Sort Algoritmo de Ordenamiento INTEGRANTES. • SERGIO ORMEÑO • JONATHAN GARCIA • EDUARDO LEIVA
  • 2. 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 Árbol Binario Completo Es aquel que en todos los nodos, solo tienen 2 o cero descendientes.
  • 3. 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). ¿Qué es un Head?
  • 4. 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. ¿Qué es Heap Sort?
  • 5. 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. ¿Cómo Funciona Heap Sort?
  • 6. VENTAJAS - La principal ventaja es que este método funciona mas efectivamente con datos desordenados. - Su desempeño es en promedio tan bueno como el Quicksort y se comporta mejor que este último en los peores casos. - No utiliza memoria adicional. DESVENTAJAS - No es estable, ya que se comporta de manera ineficaz con datos del mismo valor. - Método mas complejo Ventajas y Desventajas
  • 7. Características Heap Sort No recursivo: Porque no usa métodos que se llamen a sí mismos, sino que usa sucesivas iteraciones para obtener el conjunto de nodos ordenados. No estable Ya que se comporta de manera poco eficaz con datos del mismo valor. Con complejidad O(n log n). Funcionamiento: 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)).
  • 8. 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. Algoritmo Lógico º1
  • 9. 20 10 11 8 19 2 15 12 33 73 Ejemplo Algoritmo Heap Sort