Python Shell Sort

Document 对象参考手册Python3 Ejemplos

El ordenamiento Shell, también conocido como algoritmo de ordenamiento por incrementos decrecientes, es una versión mejorada y más eficiente del ordenamiento por inserción. Sin embargo, el ordenamiento Shell no es un algoritmo de ordenamiento estable.

La idea básica del ordenamiento Shell es: primero dividir la secuencia de registros a ordenar en varias subsecuencias para realizar un ordenamiento por inserción directa por separado; cuando los registros de toda la secuencia estén "básicamente ordenados", se realiza un ordenamiento por inserción directa sobre todos los registros.

Ejemplo

def shellSort(arr): n = len(arr) gap = int(n/2) while gap > 0: for i in range(gap,n): temp = arr[i] j = i while j >= gap and arr[j-gap] >temp: arr[j] = arr[j-gap] j -= gap arr[j] = temp gap = int(gap/2) arr = [ 12, 34, 54, 2, 3] n = len(arr) print ("Antes de ordenar:") for i in range(n): print(arr[i]), shellSort(arr) print ("\nDespués de ordenar:") for i in range(n): print(arr[i]),

Al ejecutar el código anterior, el resultado es:

排序前:
12
34
54
2
3

排序后:
2
3
12
34
54

Document 对象参考手册Python3 Ejemplos

Otras extensiones