
Exactly, that is my point! Although Map from std::library uses RB-Trees as a base for implementing these data structures, those are not the exhaustive operations, which you can perform using RB-Trees. So, I think it will much better and useful to provide them as raw containers rather just making a limited set of them to users. Next, You didn't said anything about BSTs, I think you will be interested in getting it done. Also, I would like to see how much of the fibonacci and binomial heaps have already been done. In case, they they have been at all, I would be more than happy in improving them and making it more generic. And, B-Trees and B+ Trees are obviously not sme(Check out: http://en.wikipedia.org/wiki/B%2B_tree, http://en.wikipedia.org/wiki/B-tree), though similar in many features. One more thing, what is the position of BigInteger class for C++. Is it completed ? Thanks! On Sat, Mar 26, 2011 at 7:50 PM, Dave Abrahams <dave@boostpro.com> wrote:
At Sat, 26 Mar 2011 08:44:21 -0500, Andrew Sutton wrote:
Hi Sitesh
The idea is to provide template based containers which will provide
purpose tree containers as there are for Stack, Queue and few others in
Standard Template Library. As of now, I would like to propose the
general the library to
consist of 5 containers which includes: 1. Binary Search Trees 2. Red-Black Trees 3. B-Trees 4. Binomial Heaps 5. Fibonacci Heaps
I don't believe that this would be a suitable GSoC project for Boost. The C++ Standard Library already uses red-black trees to implement set and map, there has been recent work on B-trees (B+ trees?) for Boot and, (as Tim says), he worked on binomial and fibonacci heaps last summer.
If you are serious about submitting a proposal for Boost, then your best bet is to identify a single data structure or small set of closely related data structures that are either not in the Standard Library or Boost, or are not well-supported in either library.
Andrew,
What do you think of the job of gathering, completing (i.e. with docs and tests) polishing, and submitting all that work as a GSOC project?
Note: most (probably all) STL implementations use RB trees in their implementations, but they don't expose an RB-tree interface, which, had it been available, could have been used to implement e.g. interval sets). So I don't see that as redundant
-- Dave Abrahams BoostPro Computing http://www.boostpro.com
-- Regards, *Sitesh Shrivastava* Junior Undergraduate, BIT Mesra