Re: DS_BINARY_SEARCH_TREE status ?
Daniel Tuser <[email protected]> Tue, 07 Jul 2009 17:29:44 +0200
| Newsgroups | gmane.comp.lang.eiffel.gobo.devel |
|---|---|
| Message-ID | <[email protected]> |
Jann Röder wrote: > Hi Daniel, > I don't have a sample for all bugs. I will probably try to reproduce > it again later, but for starters: I was able to reproduce the bug and know how to correct it. The problem is that one should never iterate like that through a DS_BINARY_SEARCH_TREE_CONTAINER and use `remove_node'. I will correct that as soon as possible. The problem is likely to be present in all set operations that remove items - certainly only in the binary search tree classes. > * subtract does not reset the found_item, thus causing weird behavior > in has_key. The has_key implementation seems strange anyway. Why do > you use a class variable as iterator. Locals are faster and easier to > understand. I think the search feature should set found item to Void > in the beginning. `found_node' is used to avoid redundant searches through the tree in `search_node'. E.g. if you first call `has (a_key)' and then `at (a_key)', then during the second call, the tree does not need to be traversed, as the result is already present in `found_node'. At the time when I implemented all those classes I was not aware of the huge performance difference between attributes and local variables. I will change that as well in the loop. Thanks for reporting the problem ------------------------------------------------------------------------------ Enter the BlackBerry Developer Challenge This is your chance to win up to $100,000 in prizes! For a limited time, vendors submitting new applications to BlackBerry App World(TM) will have the opportunity to enter the BlackBerry Developer Challenge. See full prize details at: http://p.sf.net/sfu/blackberry _______________________________________________ gobo-eiffel-develop mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/gobo-eiffel-develop