From: Brian H. <bri...@ql...> - 2003-05-30 18:49:56
|
There is a balancing problem with PSQueue on delete- deletes do not preserve balancing constraints and produce illegal red-black trees. The problem was that until now I didn't know how to fix this problem. I think I've figured out what needs to happen. Unfortunately, the fix is going to be somewhat ugly. It'll happen this weekend, and I should get working code in next week. Basically, what I need to do is break my single modify function into three different functions- one for insert (number of nodes increases), one for delete (number of node decreases), and while I'm at it one for update (number of nodes and structure of the tree remains the same). Brian |