Okay. What's the deal with RedBlackTrees? They're, like, everywhere! Universities are teaching them instead of AvlTree?s. They're showing up in the kernel. They seem to have become the BalancedTree of choice. Why?
Back "in my day" we all used AvlTree?s when we needed a BalancedTree. They made sense, they used fairly obvious rotations, and well, I understood them. Now I fancy myself competent in computer land. I grok BeeTrees, TwoThreeTree?s, TwoThreeFourTree?s, and AvlTree?s. But I don't get these new RedBlackTree things. I see how to statically map a RedBlackTree into a TwoThreeFourTree?, but I don't see how any of the insertion or deletion algorithms I can find for RedBlackTrees, with all their color flips, map into those for TwoThreeFourTree?s.
So, I've got two questions for you wiki masters:
TheArtOfComputerProgramming explains them all I think (thus they are all not that new anyway). If I remember correctly RedBlackTrees are isomorphic to TwoThreeTree?s expanded into one or two nodes. -- GunnarZarncke
The second edition of volume 3 mentions RedBlackTrees but does not explain them. I believe that is the most current edition at this time (May 23, 2005).
You are right. Wrong reference (and wrong statement too, oops). I shouldn't trust my memory on such things. Correct: AlgorithmsFromPtoNp explains on page 165, that RedBlackTrees (are not isomorphic but) correspond very closely to 2,4-trees. -- .gz
Here's a comparative test - http://radius-server.livejournal.com/598.html