SlideShare a Scribd company logo
1 of 13
Heap sort
Algoritmo de
Ordenamiento

HEIDY LINARES
Á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.
¿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).
¿Qué es Heap Sort?
 Es
un
algoritmo
ordenación
basado
comparaciones
elementos que utiliza
heap para ordenarlos.

de
en
de
un

 También podemos decir que
es
un
algoritmo
de
ordenación no recursivo, no
estable , con complejidad
computacional.
¿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.
Ventajas y Desventajas
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
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.
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.
Ordenación por montículos – Heap
Sort
Ordenación por montículos – Heap
Sort
COMPARACION ALGORITMOS DE ORDENAMIENTO
ORDENAMIENTO

VENTAJAS

ALGORITMO
BURBUJA

Fácil de implementar
No requiere memoria adicional

ALGORITMO
INSERCIÓN

Fácil implementación
Requerimientos mínimos de memoria

ALGORITMO DE
SELECCIÓN

Fácil de implementar
No requiere memoria adicional
Realiza pocos intercambios
Rendimiento constante: poca diferencia entre
el peor y el mejor caso

ALGORITMO
SHAKE

Relativamente fácil de implementar.
No requiere memoria adicional

ALGORITMO SHELL

No requiere memoria adicional.
Mejor rendimiento que el método de Inserción
clásico

QUICK SORT

Muy rápido
No requiere memoria adicional.

HEAP SORT

Su desempeño es en promedio tan bueno
como el Quicksort y se comporta mejor que este

DESVENTAJAS
Muy lento
Muchas comparaciones
Muchos intercambios
Lento
Numerosas
comparaciones
Lento
Realiza numerosas
comparaciones

Realiza numerosas
comparaciones.
Realiza numerosos
intercambios.
Es inestable no mantiene
el orden relativo de los
registros.
Método mas complejo
Implementación un poco
más complicada
Método mas complejo

ESTABILIDAD

No intercambia registros
con claves iguales
No intercambia registros
con claves iguales. Por lo
tanto es estable
Puede que haya algo de
discrepancia pero esta
implementación parece
ser estable, puede verificar
esto 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.
Es inestable no mantiene el
orden relativo de los
registros.
Es inestable no mantiene el
orden relativo de los
registros.
Ejemplo Algoritmo Heap Sort
3

9

2

15

12

33

20

10

11

8

1

7
Heap sort (Monticulos)

More Related Content

What's hot

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesJosé Antonio Sandoval Acosta
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortlinkinpark03
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacionjenny
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoJosé Antonio Sandoval Acosta
 
Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Alvaro Enrique Ruano
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento internoFernando Solis
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptxFernando Solis
 
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
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una colajeffersoncenteno
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTODaniel Guaycha
 

What's hot (20)

Estructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no linealesEstructura de Datos - Unidad 4 Estructuras no lineales
Estructura de Datos - Unidad 4 Estructuras no lineales
 
Método de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sortMétodo de ordenamiento por selección (selection sort
Método de ordenamiento por selección (selection sort
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Ordenamiento por seleccion
Ordenamiento por seleccionOrdenamiento por seleccion
Ordenamiento por seleccion
 
Ordenamiento QuickSort
Ordenamiento QuickSortOrdenamiento QuickSort
Ordenamiento QuickSort
 
Arboles presentacion
Arboles presentacionArboles presentacion
Arboles presentacion
 
Estructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamientoEstructura de Datos - Unidad 5 metodos de ordenamiento
Estructura de Datos - Unidad 5 metodos de ordenamiento
 
Ordenamiento por insercion
Ordenamiento por insercionOrdenamiento por insercion
Ordenamiento por insercion
 
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
 
Quicksort
QuicksortQuicksort
Quicksort
 
Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)Otras estructuras de datos (heap, tablas hash y diccionarios)
Otras estructuras de datos (heap, tablas hash y diccionarios)
 
3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno3. algoritmos de ordenamiento interno
3. algoritmos de ordenamiento interno
 
1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx1.5.1 Representación en memoria estática y dinámica.pptx
1.5.1 Representación en memoria estática y dinámica.pptx
 
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
 
Eliminar elementos de una cola
Eliminar elementos de una colaEliminar elementos de una cola
Eliminar elementos de una cola
 
5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx5.2.1 Intercalación.pptx
5.2.1 Intercalación.pptx
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
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
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 

Viewers also liked

Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)edopaz
 
Cuadro comparativo-algoritmo ordenamiento heapsort
Cuadro comparativo-algoritmo ordenamiento heapsortCuadro comparativo-algoritmo ordenamiento heapsort
Cuadro comparativo-algoritmo ordenamiento heapsortWalter Navarrete Pino
 
Grafos, complejidad y redes de mundo pequeño
Grafos, complejidad y redes de mundo pequeñoGrafos, complejidad y redes de mundo pequeño
Grafos, complejidad y redes de mundo pequeñoalvaromsevilla
 
14 Ordenacion
14 Ordenacion14 Ordenacion
14 OrdenacionUVM
 
7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 Parte7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 ParteUVM
 
7 Stl Y Los Contenedores Basicos 2 Parte
7 Stl Y Los Contenedores Basicos 2 Parte7 Stl Y Los Contenedores Basicos 2 Parte
7 Stl Y Los Contenedores Basicos 2 ParteUVM
 
Cultivo de diente de león
Cultivo de diente de leónCultivo de diente de león
Cultivo de diente de leónGerardo Avalos
 
7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores Basicos7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores BasicosUVM
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directatavo_3315_
 
Complejidad ppt analisis de algoritmo
Complejidad ppt analisis de algoritmoComplejidad ppt analisis de algoritmo
Complejidad ppt analisis de algoritmoJanii Rivera
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sorttephyfree
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoriaguestca1de2e
 

Viewers also liked (20)

Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)Ordenamiento por monticulo (heapsort)
Ordenamiento por monticulo (heapsort)
 
Heap Sort
Heap SortHeap Sort
Heap Sort
 
Data Structure (Heap Sort)
Data Structure (Heap Sort)Data Structure (Heap Sort)
Data Structure (Heap Sort)
 
Metodo quicksort
Metodo quicksortMetodo quicksort
Metodo quicksort
 
Cuadro comparativo-algoritmo ordenamiento heapsort
Cuadro comparativo-algoritmo ordenamiento heapsortCuadro comparativo-algoritmo ordenamiento heapsort
Cuadro comparativo-algoritmo ordenamiento heapsort
 
Heap Sort
Heap SortHeap Sort
Heap Sort
 
Heapsort
HeapsortHeapsort
Heapsort
 
Grafos, complejidad y redes de mundo pequeño
Grafos, complejidad y redes de mundo pequeñoGrafos, complejidad y redes de mundo pequeño
Grafos, complejidad y redes de mundo pequeño
 
Ada 1 bloquaade 2
Ada   1 bloquaade 2Ada   1 bloquaade 2
Ada 1 bloquaade 2
 
14 Ordenacion
14 Ordenacion14 Ordenacion
14 Ordenacion
 
Metodo burbuja
Metodo burbujaMetodo burbuja
Metodo burbuja
 
7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 Parte7 Stl Y Los Contenedores Basicos 3 Parte
7 Stl Y Los Contenedores Basicos 3 Parte
 
7 Stl Y Los Contenedores Basicos 2 Parte
7 Stl Y Los Contenedores Basicos 2 Parte7 Stl Y Los Contenedores Basicos 2 Parte
7 Stl Y Los Contenedores Basicos 2 Parte
 
Cultivo de diente de león
Cultivo de diente de leónCultivo de diente de león
Cultivo de diente de león
 
Isomorfos y arboles
Isomorfos y arbolesIsomorfos y arboles
Isomorfos y arboles
 
7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores Basicos7 Stl Y Los Contenedores Basicos
7 Stl Y Los Contenedores Basicos
 
Método de ordenación por inserción directa
Método de ordenación por inserción directaMétodo de ordenación por inserción directa
Método de ordenación por inserción directa
 
Complejidad ppt analisis de algoritmo
Complejidad ppt analisis de algoritmoComplejidad ppt analisis de algoritmo
Complejidad ppt analisis de algoritmo
 
Metodos de ordenacion radix sort
Metodos de ordenacion radix sortMetodos de ordenacion radix sort
Metodos de ordenacion radix sort
 
Asignación de memoria
Asignación de memoriaAsignación de memoria
Asignación de memoria
 

Similar to Heap sort (Monticulos)

Presentacion Algoritmo heapsort
Presentacion Algoritmo heapsortPresentacion Algoritmo heapsort
Presentacion Algoritmo heapsortSergio Ormeño
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datosRené Sosa Arana
 
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
 
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 dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4lenithoz
 
algoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptxalgoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptxIvan Esmit Mayhua
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfmichaelsilva2k20
 
Operaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesOperaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesFernando Solis
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdfdciutsucre
 
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Eli Diaz
 
Objetivo 6-2.ppt
Objetivo 6-2.pptObjetivo 6-2.ppt
Objetivo 6-2.pptljmalaveq
 
Estructuras no lineales
Estructuras no linealesEstructuras no lineales
Estructuras no linealeseliezerbs
 

Similar to Heap sort (Monticulos) (20)

Presentacion Algoritmo heapsort
Presentacion Algoritmo heapsortPresentacion Algoritmo heapsort
Presentacion Algoritmo heapsort
 
Comparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de OrdenamientoComparativa entre Algoritmos de Ordenamiento
Comparativa entre Algoritmos de Ordenamiento
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
Unidad cuatro estructura de datos
Unidad cuatro estructura de datosUnidad cuatro estructura de datos
Unidad cuatro estructura de datos
 
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)
 
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 dato unidad 4
Estructura de dato unidad 4Estructura de dato unidad 4
Estructura de dato unidad 4
 
algoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptxalgoritmo de ordenamiento.pptx
algoritmo de ordenamiento.pptx
 
Algoritmo por seleccion
Algoritmo por seleccionAlgoritmo por seleccion
Algoritmo por seleccion
 
DECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdfDECLARACION DE ARBOLES.pdf
DECLARACION DE ARBOLES.pdf
 
Heap sort
Heap sortHeap sort
Heap sort
 
Heapsort
HeapsortHeapsort
Heapsort
 
Operaciones Básicas con Árboles
Operaciones Básicas con ÁrbolesOperaciones Básicas con Árboles
Operaciones Básicas con Árboles
 
Informe de Arboles.pdf
Informe de Arboles.pdfInforme de Arboles.pdf
Informe de Arboles.pdf
 
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
Investigacion ed (pseudocodigo, algoritmo, listas, colas, arboles)
 
Arboles Binarios
Arboles BinariosArboles Binarios
Arboles Binarios
 
Colas de prioridad
Colas de prioridadColas de prioridad
Colas de prioridad
 
Objetivo 6-2.ppt
Objetivo 6-2.pptObjetivo 6-2.ppt
Objetivo 6-2.ppt
 
Tabla comp
Tabla compTabla comp
Tabla comp
 
Estructuras no lineales
Estructuras no linealesEstructuras no lineales
Estructuras no lineales
 

Heap sort (Monticulos)

  • 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 ordenación basado comparaciones elementos que utiliza heap para ordenarlos. de en de un  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 - - - 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
  • 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.
  • 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.
  • 11. COMPARACION ALGORITMOS DE ORDENAMIENTO ORDENAMIENTO VENTAJAS ALGORITMO BURBUJA Fácil de implementar No requiere memoria adicional ALGORITMO INSERCIÓN Fácil implementación Requerimientos mínimos de memoria ALGORITMO DE SELECCIÓN Fácil de implementar No requiere memoria adicional Realiza pocos intercambios Rendimiento constante: poca diferencia entre el peor y el mejor caso ALGORITMO SHAKE Relativamente fácil de implementar. No requiere memoria adicional ALGORITMO SHELL No requiere memoria adicional. Mejor rendimiento que el método de Inserción clásico QUICK SORT Muy rápido No requiere memoria adicional. HEAP SORT Su desempeño es en promedio tan bueno como el Quicksort y se comporta mejor que este DESVENTAJAS Muy lento Muchas comparaciones Muchos intercambios Lento Numerosas comparaciones Lento Realiza numerosas comparaciones Realiza numerosas comparaciones. Realiza numerosos intercambios. Es inestable no mantiene el orden relativo de los registros. Método mas complejo Implementación un poco más complicada Método mas complejo ESTABILIDAD No intercambia registros con claves iguales No intercambia registros con claves iguales. Por lo tanto es estable Puede que haya algo de discrepancia pero esta implementación parece ser estable, puede verificar esto 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. Es inestable no mantiene el orden relativo de los registros. Es inestable no mantiene el orden relativo de los registros.
  • 12. Ejemplo Algoritmo Heap Sort 3 9 2 15 12 33 20 10 11 8 1 7