typestar

Quicksort en Python

Un ordenamiento de divide y vencerás, corto de escribir y rápido en la práctica.

def quicksort(elementos):
    if len(elementos) <= 1:
        return elementos
    pivote = elementos[len(elementos) // 2]
    izquierda = [x for x in elementos if x < pivote]
    medio = [x for x in elementos if x == pivote]
    derecha = [x for x in elementos if x > pivote]
    return quicksort(izquierda) + medio + quicksort(derecha)

Cómo funciona

  1. Elige el elemento del medio como pivote.
  2. Comprensiones de listas separan los valores menores, iguales y mayores que el pivote.
  3. Ordena ambos lados recursivamente y une las tres partes.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
8
Caracteres a escribir
305
Tokens
80
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 48 segundos.

Escribe este fragmento

Paso 3 de 5 en Algoritmos; paso 53 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →

Quicksort en otros lenguajes