Today I needed an AVL tree implementation for some time-based indexing of cached data. Unfortunately, I can't use the wonderful-looking OrderedDictionary in the PowerCollections project since .NET 2.0 is not due out for a while. I searched around without any luck, so I rolled my own. It's been a while since I messed with tree-based data structures. I was pretty pleased with its performance characteristics, even with millions of records.
I'm thinking about releasing it as a short-term alternative for people having to wait on 2.0 and Peter Golde's PowerCollections project, so I thought I write a short blurb about it and link to some appropriate sites to generate some referrals and feedback. Anyone interested in using it?
For those unfamiliar with AVL trees, it's a self-balancing binary search tree. Its characteristics that are of interest to me are:
- self-ordering - values are stored and can be retrieved in order simply by traversing the tree, something a hashtable cannot give you.
- self-balancing - This ensures that search times are O(log(n))
- fairly straightforward to implement, as opposed to Red-Black, or other self-balancing BSTs
Again, if you're interested in using it, leave me some feedback and maybe I'll make it a sourceforge or GDN project.