On Apr 5, 11 17:48, bearophile wrote:
Ishan Thilina:

I looked at few things( such as Skip list, Binary decision tree, Trie, rope) 
that
was listed in that page. Yes, things such as Skip list and Binary decision tree
looks interesting. But to be honest I have never heard about those data 
structures
before.

Some data structures useful for Phobos:
- a graph;
- a hash set;
- A deque made with a dynamic array of fixed sized arrays;
- a Union-Find (not too much hard);
- a Bloom filter (easy with the already present bit arrays);
- a dawg;
- a simple trie;
- a BK-tree;
- a bidirectional associative array;
- a parallelizable immutable finger tree.

Bye,
bearophile

From this list, I'd only want to see 'hash set', 'deque', 'bidirectional AA' and maybe 'trie' in std.container.

Union-Find - Maybe useful, but when did you need a union-find structure outside of Kruskal's algorithm?

Bloom filter - I've never hit a case where a hash set is too big and a bloom filter is enough.

Dawg, BK-tree, finger tree - What are these? Why are they useful for Phobos?

Graph - Yes it is useful, but there are too many operations associated with it, which should better live as its own module (std.container.graph?).

P.S. Here I'm talking about future addition to std.container in general, not about the two GSoC projects.

P.P.S. if you don't mind I'd like to add 'interval set' to the list. See Boost.Icl.

Reply via email to