Go ahead with replacing mine with yours, Michael. The one thing you
might want to preserve from mine is the ability to extend heap nodes
directly (e.g. ClosestFirstIterator.QueueEntry extends
FibonacciHeap.Node). This minimizes overhead for memory allocation and
garbage collection. It also avoids any need to hash to get from queue
entry to corresponding heap node (since they're the same object).
Also, you might want to run some before/after performance comparisons
with ClosestFirstIterator on large complex graphs to see how much
overhead the extra genericity (e.g. arbitrary Comparators instead of
hard-coded doubles) introduces. If you report your numbers to this
list, we can review and decide whether further special-casing would be
Michael Behrisch wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>>Barak Naveh wrote:
>>>as for the fibonacci heap, if think the factory/strategy approach John
>>>suggested is the appropriate solution. however, a default
>>>factory/strategy should be provided so that a beginner could use the
>>>library without having to specify them.
>>>Michael, i will be away until mid-october and i dont want to bottleneck
>>>your developments. You can discuss with John and whatever he decides is
>>>fine with me (John, is it ok with you?). just CC me on your descussions
>>>so that i can catch up quicker upon my return.
>>Sure. Michael, perhaps you can propose details on how you'd like to see
>>the existing components refactored, and then I can give you feedback.
> I'd like to have what's already in my heaps ;-) Especially arbitrary
> Comparators for the order of the elements and the ability to create min-/and
> max-heaps. I think one could use my heaps and modify the
> ClosestFirstIterator accordingly. If You want I can do that.
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.2.4 (GNU/Linux)
> -----END PGP SIGNATURE-----