Domanda

nuovo gruppo di librerie contrib di Clojure ha una href="http://en.wikipedia.org/wiki/Finger_tree" rel="noreferrer"> albero dito biblioteca . Quali sono i casi di utilizzo per alberi delle dita in clojure? Quando devono dito alberi essere utilizzati al posto di uno degli altri strucures di Clojure dati peristent:. Vettori, set, mappe, persistentqueues, etc

Il gioia di Clojure menziona quel dito alberi può essere utilizzato per collezioni indicizzate dove sono richieste inserzioni e delezioni economici. Essi sono stati anche descritto come il "coltellino svizzero di strutture di dati." Esempi di questo sarebbe molto apprezzato.

È stato utile?

Soluzione

alberi 2-3 dita sono descritte in un articolo di Ralf Hinze e Ross Paterson . Essi forniscono non solo una descrizione completa della struttura dei dati in sé, ma alcuni esempi di come possa essere utilizzato ... in Haskell. La maggior parte delle caratteristiche che descrivono sono già disponibili nella libreria Clojure, ma la documentazione semplicemente non c'è ancora.

sarò l'introduzione di alberi delle dita Clojure a Clojure Conj questo fine settimana.

Aggiornamento: Ora ci sono alcuni esempi mostrato a http : //github.com/clojure/data.finger-tree#readme

Aggiornamento: Diapositive dal discorso: https://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf

Aggiornamento: Video del discorso: http: // www .youtube.com / watch? v = UXdr_K0Lwg4

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top