tutorial online mexico logo ejemplos descargar constructora company haskell

haskell - online - Data.Set: ¿siempre se sabe mejor?



haskell online (2)

Necesito representar un conjunto y estoy empezando a trabajar con Data.Set. Veo que en realidad no hay nada que hacer: singleton , union , intersection , etc. están todos ahí. Me gusta. Puedo expresar "qué", no "cómo". Pero mi programador interno de C es incómodo. Hay muchas formas de implementar un conjunto (árbol binario, hash, matriz booleana, etc.) ¿Puedo realmente confiar en Data.Set para elegir el mejor? ¿Puedo guiarlo de alguna manera, o simplemente me rindo a su juicio (lo admito, probablemente superior)?


El conjunto de datos general utiliza un árbol binario equilibrado. Si tiene conjuntos de enteros o vectores de bits, querrá que Data.IntSet , que utiliza los intentos de Patricia.

Ambas implementaciones se han perfeccionado a través de años de competencia para obtener el mejor rendimiento posible con Haskell.

¡Ríndete a Dorothy!


Data.Set no tiene inteligencia interna (solo ve la fuente ). Es solo un árbol equilibrado o elementos ordenados. Puede mirar a su alrededor en hackage para muchos otros conjuntos y estructuras similares con diferentes características de rendimiento. Por ejemplo, vea unordered-containers (HashSet), HashTables y bloomfilter .