Mi chiedo se non v'è un'implementazione di una mappa che è:Implementazione efficiente della mappa immutabile?
- Immutabile, in modo che posso utilizzare in programmazione funzionale, e senza sforzo garantire transazioni e la concorrenza.
- Veloce. Ho controllato gli alberi di ricerca di Binary (RB, AVL) e tentativi, ma nessuno di loro sembrava essere veloce come tabelle hash. Esiste un'implementazione della mappa che supporta il tempo costante per gli aggiornamenti e i recuperi? (O almeno molto veloce tempo logaritmico)
In breve, v'è una struttura di dati funzionale che può confrontare con mappe Hash prestazioni?
Grazie mille per la vostra risposta utile. Vado presto a dare un'occhiata a Clojure. – Phil
Le mappe immutabili di Clojure utilizzano tentativi di mappatura con hash array a 32 vie (http://en.wikipedia.org/wiki/Hash_array_mapped_trie). Sono una grande struttura dati, quasi una HashMap mutevole, ma con tutti i vantaggi di essere persistenti e immutabili. – mikera