Brodal et al. demonstrated in their ESA '06 paper the existence of a purely functional structure with logarithmic-time search, update and insertion, and constant-time merge. (Note I'm not talking about Brodal heaps, which are a different data structure, quite widely used to implement purely functional priority queues.) This seems to be a very lucrative result, and should lead to efficient purely functional sets and maps, but I don't see them used anywhere:
containers
uses Adams trees;If Brodal trees really have such good results, why have they not been adapted into mainstream functional programming languages standard libraries? In fact, I have not seen even one implementation of Brodal trees at all!
Specifically, is this because:
As mentioned in the comments there is very limited information in the paper, leading one to suspect very large constants, in addition:
Somewhat overlapping with the above, reading the article I would think the following note from the conclusion may be why not much effort has been made toward implementation
Splitting will invalidate this property for every tree-collection and will lead to (log n log log n) search and update times.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With