[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4745278c0607180630m39040ad7neac25c1a64399aff@mail.gmail.com>
Date: Tue, 18 Jul 2006 09:30:40 -0400
From: "Vishal Patil" <vishpat@...il.com>
To: "Gary Funck" <gary@...repid.com>
Cc: "Linux Kernel Mailing List" <linux-kernel@...r.kernel.org>
Subject: Re: Generic B-tree implementation
Gary
I said B-Tree and not binary tree, please read the explaination about
B-tree at http://en.wikipedia.org/wiki/B-tree. Also I am aware of AVL
trees.
I never claimed that my implementation is better or anything like
that. I posted the code so that someone in need of the data structure
might use it. Also I would be willing them to help with their project.
- Vishal
On 7/18/06, Gary Funck <gary@...repid.com> wrote:
>
> Vishal Patil wrote:
> >
> > I am attaching source files containing a very generic implementation
> > of B-trees in C. The implementation corresponds to in memory B-Tree
> > data structure. The B-tree library consists of two files, btree.h and
> > btree.c. I am also attaching a sample program main.c which should
> > hopefully make the use of the library clear.
>
> Couple of thoughts:
>
> 1. red/black b-trees have superior worst case performance as it
> relates to rebalancing, and the implementation doesn't add a
> lot of complexity:
> http://www.nist.gov/dads/HTML/redblack.html
>
> 2. Paul Vixie's b-tree implementation has been around since the mid-80's
> or so, and simply from an historical perspective is worth a look
> (comp.sources.unix anyone?):
> http://www.isc.org/index.pl?/sources/devel/func/avl-subs-2.php
>
> 3. GCC uses 'splay trees' to good advantage:
> http://www.nist.gov/dads/HTML/splaytree.html
> which have the property that most-recently referenced nodes
> tend to be higher up in the tree.
>
>
--
Motivation will almost always beat mere talent.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists