[pyar] orden parcial

Página superior
Adjuntos:
+ (text/plain)

Responder a este mensaje
Autor: Pablo Mouzo
Fecha:  
A: pyar
Asunto: [pyar] orden parcial
2009/12/12 Matias Graña <matias.alejo@???>:
> Hola, gente
> Tengo una lista de N elementos, de la que quiero extraer los n más
> chicos. Una opción es ordenarla y quedarme con el slice [:n]. Pero
> resulta que N es mucho más grande que n (digamos n=10, N=1.000.000)
> así que esto es ineficiente. Se puede hacer en N.log(n), en lugar de
> N.log(N) que sale de ordenarlos todos. El punto es: hay alguna
> librería que haga esto? Si lo tengo que programar yo, quizás sea más
> eficiente ordenarlos todos (que se hace en C en lugar de ser Python
> interpretado).
>
> Gracias,
> -- Matías Graña


Eso es un cuello de botella en tu programa o estás haciendo
optimización prematura porque es divertido?

2009/12/12 Facundo Batista <facundobatista@???>:
>>>> import heapq
>>>> heapq.nsmallest(2, [1, 4, 55, 65, 7, 3])
> [1, 3]


Crear un heap con n elementos no es O(n.log(n))?

Saludos,
Pablo

---------------------------------------------------------------------
Para dar de baja la suscripcion, mande un mensaje a:
   pyar-unsubscribe@???


Para obtener el resto de direcciones-comando, mande un mensaje a:
pyar-help@???

PyAr - Python Argentina - Sitio web: http://www.python.com.ar/