Originariamente inviato da GliderKite
Troppo lento.

La struttura dati che a me pare più adatta se desideri mantenere la struttura locali inalterata e una tabella di hash a concatenazioni separate con funzione di hash universale per stringa a coefficienti pseudocasuali, in questo modo dovresti poter garantire un accesso ai dati con costo O(1).
certo che è lento però proponevo una struttura in relazione alla complessità di codice che ha postato (non mi sembra, ad occhio, che stia svolgendo un progetto che punta all'ottimizzazione)
XD visto ciò che ha scritto non credo proprio che sappia fare quello che tu gli suggerisci

a dirla tutta gli basterebbe sistemare in un altro modo la base dati per migliorare già enormemente le cose, ma anche per questo, non mi è sembrato il caso
Credo stia semplicemente svolgendo un progetto universitario di base