28

El nuevo grupo de bibliotecas contrib de Clojure tiene un finger treelibrary. ¿Cuáles son los casos de uso para los árboles de dedo en Clojure? Cuándo se deben usar árboles en lugar de una de las otras estructuras de datos permanentes de Clojure: vectores, conjuntos, mapas, persistentqueues, etc.¿Para qué debo usar los dedos de Clojure?

El Joy of Clojure menciona que los árboles Finger se pueden usar para colecciones indexadas donde se requieren inserciones y eliminaciones baratas. También han sido descritos como la "navaja suiza de estructuras de datos". Ejemplos de esto serían muy apreciados.

+6

Look Ma, ¡Tengo un martillo nuevo! La televisión se ve como un clavo :-). – Ralph

Respuesta

26

2-3 árboles de dedo se describen en un paper by Ralf Hinze and Ross Paterson. Proporcionan no solo una descripción completa de la estructura de datos en sí, sino varios ejemplos de cómo se puede usar ... en Haskell. La mayoría de las características que describen ya están disponibles en la biblioteca de Clojure, pero la documentación simplemente no está allí todavía.

Estaré presentando árboles de dedo Clojure en Clojure Conj este fin de semana.

Actualización: ahora hay algunos ejemplos que se muestran en http://github.com/clojure/data.finger-tree#readme

Actualización: diapositivas de la charla: https://github.com/Chouser/talk-finger-tree/blob/master/finger-trees.pdf

Actualización: video de la charla: http://www.youtube.com/watch?v=UXdr_K0Lwg4

+2

Ojalá pudiera estar allí. ¿Te pueden arriesgar para poner tus diapositivas en la web más tarde? –

+1

Creo que las diapositivas * y * videos estarán disponibles después de la conferencia. – fogus

+0

@fogus @Rob De hecho, recibí la confirmación hace unos días de que las conversaciones serán grabadas. – Rayne

Cuestiones relacionadas