CSharpTest.Net.Collections
CSharpTest.Net.Collections copied to clipboard
Reverse Iteration
Hi, I should say: BPlusTree has lots of quite utile features specially for iterations. Features such as: tree.EnumerateFrom, tree.EnumerateRange, or tree.GetEnumerator(). Leveraging on these functions most of common operations are supported out-of-box, however I was wondering if there is any possibility to do reverse iteration. For example a variation of tree.EnumerateFrom which starts iterating from given key toward BEGINNING of tree rather END. Maybe this aspect is covered, in that case I would appreciate if you could explain it. Otherwise, would you mind please guide me through ?
Reverse iteration is indeed useful when trying to perform some operations on key's surrounding the given key.
Correct, reverse iteration is currently not supported. It would be possible to implement a copy of BPlusTree.Enumerator that would iterate the nodes in reverse. As of yet, I have not implemented this. I'll leave this open as an enhancement request.
Feel free to implement this, and all the required unit tests, and send a push request.