Introducción a la ordenación del montón en Python

Cualquiera de los lenguajes de programación proporciona varias funciones en virtud de funciones predefinidas. Al aprovechar los métodos predefinidos y las características que ofrece el lenguaje de programación, se puede desarrollar una aplicación compleja. Cuando hablamos de transformar los valores de la lista en la forma ordenada, el enfoque se denomina ordenación. Aunque el resultado de la clasificación es el mismo independientemente del enfoque de clasificación, el mejor enfoque garantiza la eficiencia de la clasificación de datos. Cuando se trata de ordenar usando el lenguaje de programación python, tenemos un método sort () que simplemente puede aceptar el valor y ordenarlo en orden ascendente. En este artículo, aprenderemos cómo ordenar los datos de la matriz en orden ascendente usando la ordenación de montón y utilizaremos el lenguaje de programación python para realizar la implementación del código de heapsort.

¿Cómo funciona Heap Sort en Python?

  • Antes de explicar el funcionamiento de Python, es importante comprender qué es en realidad y cómo es diferente de otros algoritmos de clasificación. Heapsort se puede considerar como el enfoque de clasificación en el que el valor máximo de la lista se encuentra y se desplaza al último de la matriz y el proceso se repite hasta que la lista se transforma en una lista ordenada. la forma en que lo hace diferente de los otros métodos de clasificación no es más que el enfoque que sigue para ordenar todos los valores de The Array. Consiste en el proceso recursivo que dura hasta que los valores de The Array están dispuestos en orden ascendente.
  • Ahora, comprendamos cómo funciona la ordenación del montón en detalle utilizando un ejemplo. Supongamos que arr es una matriz que contiene los valores como 9, 5, 2. Al principio, los valores de la matriz no están ordenados de forma ordenada, pero después de realizar la ordenación del montón, se convertirá en orden ascendente. Cuando se aplica el algoritmo de ordenación del montón a esta matriz, lo primero que hará será encontrar nuestro mayor valor en la matriz. Como 9 es el valor más grande, se moverá al último índice de la lista y todos los demás valores se moverán un paso hacia la izquierda para crear espacio para mantener el valor más grande. Una vez que 9 se cambia al último índice o matriz arr, la lista de valores se verá como 5, 2, 9.
  • Ahora, todavía la matriz no está ordenada, lo que indica que el mismo proceso debe repetirse nuevamente. Ahora, mientras busca el valor más grande de la lista de valores no procesados, 5 se seleccionará como el segundo valor más grande y se moverá al segundo último índice. Después de mover 5 en la segunda última posición, la matriz se convertirá en una matriz ordenada y los valores se organizarán en el orden ascendente del ensamblaje como 2, 5, 9. Esta es la forma en que funciona la ordenación del montón. En términos reales, identifica el valor máximo y lo mueve al final de la matriz y continúa realizando el mismo proceso hasta que la matriz se convierte en la matriz ordenada.

Ejemplos para implementar la ordenación del montón en Python

Para aprender el concepto de heapsort, comprendamos usando el ejemplo real. Implementaremos el algoritmo de ordenación del montón utilizando el lenguaje python. Para desarrollar el programa, usaremos el bucle for para traer el mecanismo de recursión y usaremos si las condiciones se verifican para verificar las condiciones. En el siguiente código, perform_heapsort es la función que acepta tres argumentos: val_arr, num y count, donde var_arr es la matriz, mientras que num y count son de un tipo de datos entero. La idea del siguiente código es encontrar el número más grande y mantenerlo temporalmente en la variable max_val hasta que se desplace al final de la matriz. Si se ha utilizado una declaración para asegurarse de que el valor más grande se está desplazando a la posición adecuada y el siguiente valor más grande de la lista está bloqueando la actualización de esa posición. El programa repetirá el enfoque de encontrar el valor más grande y desplazarlo hasta el final hasta que la lista se sintonice con el ordenado.

Código:

def perform_heapsort(val_arr, num, count):
max_val = count
counter1 = 2 * count + 1
counter2 = 2 * count + 2
if counter1 < num and val_arr(count) < val_arr(counter1):
max_val = counter1
if counter2 < num and val_arr(max_val) < val_arr(counter2):
max_val = counter2
if max_val != count:
val_arr(count), val_arr(max_val) = val_arr(max_val), val_arr(count) perform_heapsort(val_arr, num, max_val)
def heapSort(val_arr):
num = len(val_arr)
for count in range(num, -1, -1):
perform_heapsort(val_arr, num, count)
for count in range(num-1, 0, -1):
val_arr(count), val_arr(0) = val_arr(0), val_arr(count) # swap
perform_heapsort(val_arr, count, 0)
val_arr = ( 52, 91, 64, 252, 36, 91, 5, 35, 28) heapSort(val_arr)
num = len(val_arr)
print ("Values after performing heapsort")
for count in range(num):
print ("%d" %val_arr(count)),

En este programa, los valores se han asignado manualmente a través del código. Var_arr es la matriz que contiene los valores. En este ejemplo, hemos asignado 9 valores a la matriz. Los valores en la matriz se pasarán al método llamado perform_heapsort. Una vez que los valores ingresan al método, se procesará y el programa comenzará a encontrar el valor más grande de la lista. El valor máximo en esta matriz es 252, por lo que se desplazará al final de la matriz y este proceso se aplicará a todos los valores hasta que la matriz se convierta en la matriz ordenada. Una vez que el programa ordena la matriz, la salida se mostrará en la salida.

Salida:

Conclusión

Heapsort es uno de los diversos algoritmos de clasificación. El resultado final de este algoritmo es la lista ordenada que tiene los datos organizados en orden ascendente. A medida que se repite el proceso y cada vez que todos los valores se desplazan hacia la izquierda para ajustar el valor máximo de la lista al final de la matriz, se considera como el algoritmo de clasificación menos eficiente. Este enfoque de clasificación se puede aprovechar en la aplicación que se supone que procesa una pequeña cantidad de valores.

Artículos recomendados

Esta es una guía para ordenar el montón en Python. Aquí discutimos la introducción a la ordenación del montón en Python, cómo funciona la ordenación del montón en Python y los ejemplos para implementar la ordenación del montón en Python. También puede consultar nuestros otros artículos sugeridos para obtener más información.

  1. ¿Qué es la informática?
  2. ¿Qué es el aprendizaje automático?
  3. Seguridad de aplicaciones web
  4. Características de Python
  5. Guía para ordenar algoritmos en Python