home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ogicse!reed!orpheus
- From: orpheus@reed.edu (P. Hawthorne)
- Newsgroups: comp.programming
- Subject: Re: AVL trees - Re: Why Are Red-Black Trees Obscure?
- Message-ID: <1992Sep2.022227.9117@reed.edu>
- Date: 2 Sep 92 02:22:27 GMT
- Article-I.D.: reed.1992Sep2.022227.9117
- References: <1992Aug28.154713.3125@rz.uni-karlsruhe.de> <14298@goanna.cs.rmit.oz.au> <1992Sep1.142904.430@rz.uni-karlsruhe.de>
- Organization: Reed College, Portland, OR
- Lines: 53
-
-
- ok@goanna.cs.rmit.oz.au (Richard A. O'Keefe) writes:
- : There is a curious thing about red-black trees, which is that algorithm
- : texts that describe them often leave out the deletion code.
-
- bevan@cs.man.ac.uk (Stephen J Bevan) writes:
- : I don't think this is perculiar to red-black trees. It seems that no
- : matter what the tree, many authors leave out deletion code.
-
- I'll see your point and raise you a point. Deletion, when implementations
- are given, seem to be efficient largely because of a particularly
- simplistic representation, like heap allocation. One of the things I want
- most from a given data structure is containment within a single memory
- block (size proportional to the number of elements) which can grow, shrink
- and move around when the structure isn't looking. Hence, my implementations
- demand offsets rather than pointers, double links, interleaved binary and
- interpolation search operations, and so on.
-
- Deletion is the thorn in my side. I guess that's half the challenge! And
- who knows, maybe it's not just my eccentricity, but all data structures
- should have explicit "insert multiple elements" and "delete multiple
- elements" operations!
-
- I'll admit to being dumbstruck by wise data structures sometimes. That
- is, I am so impressed at the design, analysis and insight that has been put
- into a structure, I am totally humbled when I try to develop alternative
- representations, make up operations, or analyze the performance of my own
- experimental structures. For instance, I can imagine a deletion on a
- Patricia tree, but I seriously doubt whether I have ample understanding of
- the subtleties involved to propose an operation that, AFAIK, nobody else
- seems to have.
-
- Or, say I think I've got a representation for graphs that is as new under
- the sun as it is well suited for particular problems. Who am I to suggest
- such a thing when Knuth has never mentioned it and it's not in BSD?
-
- Another good example is trying to reverse engineer the Fibonacci priority
- queue from LEDA, which I seem to remember is coded in C++ with commentary
- in German. (Why is there so much sexy code out there commented in German?
- I've taken a bunch of natural languages, but German just doesn't happen to
- be one of them, and it's the only one I have an immediate use for.)
-
-
- S_TITZ@iravcl.ira.uka.de (Olaf Titz) writes:
- : Another example are Bayer trees, which should be presented to the
- : students as thorough as the AVL (or red-black, if you want it) trees just
- : because they are the tree structure that suits best to a block-structured
- : storage device.
-
- Never heard of them before, but I like what I hear so far. Are these
- significantly different from the B-tree?
-
- Theus (orpheus@reed.edu)
-