[GSoC] Container proposals by Ishan and Christian

KennyTM~ kennytm at gmail.com
Tue Apr 5 05:45:58 PDT 2011


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.


More information about the Digitalmars-d mailing list