[Python] Algoritmo in CSV

Pietro Battiston me a pietrobattiston.it
Ven 3 Set 2010 17:43:42 CEST


Il giorno ven, 03/09/2010 alle 15.58 +0200, Giuseppe Amato ha scritto:
> Ti conviene ordinare e prendere l'ultimo per ogni colonna utlizzando 
> sort(cmp) sulle colonne. L'algoritmo di sort è già ottimizzato rispetto 
> ai confronti che hai previsto tu. Se hai bisogno anche dell'indice del 
> campo butti tutto in un dizionario del tipo {<campo>:<indice>} però devi 
> fare attenzione alle duplicazioni, che comunque dovrai gestire nella 
> ricerca del massimo

Ehm... no, direi che così peggiora le cose.

Intanto deve separare le colonne - ma questo magari si può fare con
qualche generatore furbo (più furbo di quello che ho proposto io nella
mia prima mail) che non richieda troppa memoria, né più tempo del
necessario.

Ma il problema vero è che il sort ha costo più che lineare, mentre il
max ha costo lineare: entrambe le operazioni possono poi essere più o
meno ottimizzate, ma certo il sort resterà _sempre_ più costoso del max
(d'altronde, se così non fosse, max(.) sarebbe ovviamente definito come
sort(.)[-1], e quindi di nuovo usare sort non darebbe vantaggi).

ciaociao

Pietro



Maggiori informazioni sulla lista Python