¿Qué tipo de clasificación es esta?

Antes de responder directamente, descubramos cómo podemos pensar qué clasificación se está utilizando aquí.

Considerando la primera secuencia (19, 14, 8, 2, 28, 21, 5, 10) como matriz original. Los números dados se ordenan en orden inverso (los elementos más grandes se colocan en su posición correcta y luego el tamaño de la matriz se reduce en 1). Además, antes de colocarlo en su posición correcta, primero se coloca al comienzo de la matriz. Nos da una pista clara de que la ordenación del montón se usa ya que solo la ordenación del montón usa un algoritmo que intercambia el primer elemento (el más grande en la matriz considerado) con el último y luego organiza de nuevo el elemento más grande de la matriz más pequeña en la primera posición y continúa hasta que todos los elementos están arreglados

Algoritmo de clasificación de montón como se da en Introducción a los algoritmos, CLRS

Explicación detallada de las secuencias de inicio:

Matriz original

Después de Build-Max-Heap (A) (Línea 2 del algoritmo de clasificación de montón)

1.a iteración del bucle en la línea 3 del algoritmo de ordenación del montón: intercambie el primer y último elemento y reduzca el tamaño en 1

Max-Heapify (A, 1) en la línea 5 del algoritmo de clasificación de montón

Una llamada recursiva a Max-Heapify (A, 3) [Consulte la página 130 Algoritmo Max-Heapify () en Introducción al Algoritmo, CLRS]

Se pueden explicar más secuencias usando las siguientes iteraciones de ‘for loop’

Corrígeme si crees que estoy equivocado.

Bueno, los números anteriores se ordenan usando HEAP SORT

Está utilizando una función Heapify que hace que el montón HEAP MÁX para obtener un orden ascendente.

La función Heapify se usa para mantener la propiedad heap del árbol.
Ejemplo-

La ordenación del montón se puede entender por el siguiente ejemplo .

Para una mejor comprensión y aprendizaje, consulte el video NPTEL en Heap.

Seguramente te ayudará.

Parece ser una combinación de Bubble sort y Quicksort con algunas modificaciones.

El número 2 parece ser un “pivote” como se usa en Quicksort. Es así, porque es el elemento menos en la matriz.

Primera iteración: desde la primera posición en la izquierda hasta la última posición en la derecha, encuentra los elementos máximos y mínimos mayores o iguales a 2. El elemento máximo se coloca en la primera posición y el elemento mínimo se coloca en el Ultima posicion.

Entonces, el máximo. y los elementos min se intercambian.

Segunda iteración: comenzando desde la 2da posición hasta la penúltima posición a la derecha, encuentra el máximo. y elementos mínimos mayores que 2 (no igual a 2). Sin embargo, el máximo se coloca una vez más en la primera posición y el elemento mínimo.

… y así. Las iteraciones continúan hasta que el elemento mínimo mayor que 2 esté en la 2da posición y el elemento mínimo, es decir, 2 encuentre su lugar correcto en la primera posición.

La complejidad temporal es la misma que la del tipo Burbuja, es decir, O (n ^ 2). Sin embargo, su rendimiento en tiempo de ejecución podría ser mejor que el tipo estándar de Bubble.

Editar: como otros han señalado correctamente, es una ordenación de montón. Sin embargo, en el algoritmo que escribí anteriormente, si se considera que el pivote es la mediana de max. y min (a lo largo de cada iteración) la salida se parecerá a la dada desde la segunda fila en adelante. El genio de Heap Sort es que “burbujea” los elementos mayores de derecha a izquierda, sin la necesidad de encontrar un pivote óptimo.

Ayush Garg y Aditya Verma tienen la respuesta correcta. Está utilizando el algoritmo Heap Sort. Aquellos que dijeron Quick Sort son incorrectos.